diff options
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r-- | sway/desktop/output.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 6c97ac37..352f4af3 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -257,15 +257,15 @@ static void render_output(struct sway_output *output, struct timespec *when, | |||
257 | container_descendants(workspace, C_VIEW, render_view, &rdata); | 257 | container_descendants(workspace, C_VIEW, render_view, &rdata); |
258 | 258 | ||
259 | // render unmanaged views on top | 259 | // render unmanaged views on top |
260 | struct sway_view *view; | 260 | struct wl_list *unmanaged = &root_container.sway_root->xwayland_unmanaged; |
261 | wl_list_for_each(view, &root_container.sway_root->unmanaged_views, | 261 | struct sway_xwayland_unmanaged *sway_surface; |
262 | unmanaged_view_link) { | 262 | wl_list_for_each(sway_surface, unmanaged, link) { |
263 | if (view->type != SWAY_XWAYLAND_VIEW) { | 263 | struct wlr_xwayland_surface *xsurface = |
264 | sway_surface->wlr_xwayland_surface; | ||
265 | if (xsurface->surface == NULL) { | ||
264 | continue; | 266 | continue; |
265 | } | 267 | } |
266 | 268 | ||
267 | struct wlr_xwayland_surface *xsurface = view->wlr_xwayland_surface; | ||
268 | |||
269 | const struct wlr_box view_box = { | 269 | const struct wlr_box view_box = { |
270 | .x = xsurface->x, | 270 | .x = xsurface->x, |
271 | .y = xsurface->y, | 271 | .y = xsurface->y, |
@@ -277,7 +277,7 @@ static void render_output(struct sway_output *output, struct timespec *when, | |||
277 | continue; | 277 | continue; |
278 | } | 278 | } |
279 | 279 | ||
280 | render_surface(view->surface, wlr_output, &output->last_frame, | 280 | render_surface(xsurface->surface, wlr_output, &output->last_frame, |
281 | view_box.x - output_box->x, view_box.y - output_box->y, 0); | 281 | view_box.x - output_box->x, view_box.y - output_box->y, 0); |
282 | } | 282 | } |
283 | 283 | ||