diff options
Diffstat (limited to 'sway/desktop/render.c')
-rw-r--r-- | sway/desktop/render.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 6e1e31f0..93fcfbf4 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c | |||
@@ -192,10 +192,12 @@ static void render_view_toplevels(struct sway_view *view, | |||
192 | .damage = damage, | 192 | .damage = damage, |
193 | .alpha = alpha, | 193 | .alpha = alpha, |
194 | }; | 194 | }; |
195 | struct wlr_box geometry; | ||
196 | view_get_geometry(view, &geometry); | ||
195 | // Render all toplevels without descending into popups | 197 | // Render all toplevels without descending into popups |
196 | output_surface_for_each_surface(output, view->surface, | 198 | output_surface_for_each_surface(output, view->surface, |
197 | view->swayc->current.view_x - output->wlr_output->lx, | 199 | view->swayc->current.view_x - output->wlr_output->lx - geometry.x, |
198 | view->swayc->current.view_y - output->wlr_output->ly, | 200 | view->swayc->current.view_y - output->wlr_output->ly - geometry.y, |
199 | render_surface_iterator, &data); | 201 | render_surface_iterator, &data); |
200 | } | 202 | } |
201 | 203 | ||
@@ -232,6 +234,10 @@ static void render_saved_view(struct sway_view *view, | |||
232 | .width = view->saved_buffer_width, | 234 | .width = view->saved_buffer_width, |
233 | .height = view->saved_buffer_height, | 235 | .height = view->saved_buffer_height, |
234 | }; | 236 | }; |
237 | struct wlr_box geometry; | ||
238 | view_get_geometry(view, &geometry); | ||
239 | box.x -= geometry.x; | ||
240 | box.y -= geometry.y; | ||
235 | 241 | ||
236 | struct wlr_box output_box = { | 242 | struct wlr_box output_box = { |
237 | .width = output->swayc->current.swayc_width, | 243 | .width = output->swayc->current.swayc_width, |