diff options
Diffstat (limited to 'sway/desktop/render.c')
-rw-r--r-- | sway/desktop/render.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 3a422293..acf503a4 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c | |||
@@ -265,24 +265,14 @@ static void render_view_toplevels(struct sway_view *view, | |||
265 | render_surface_iterator, &data); | 265 | render_surface_iterator, &data); |
266 | } | 266 | } |
267 | 267 | ||
268 | static void render_popup_iterator(struct sway_output *output, struct sway_view *view, | ||
269 | struct wlr_surface *surface, struct wlr_box *box, float rotation, | ||
270 | void *data) { | ||
271 | // Render this popup's surface | ||
272 | render_surface_iterator(output, view, surface, box, rotation, data); | ||
273 | |||
274 | // Render this popup's child toplevels | ||
275 | output_surface_for_each_surface(output, surface, box->x, box->y, | ||
276 | render_surface_iterator, data); | ||
277 | } | ||
278 | |||
279 | static void render_view_popups(struct sway_view *view, | 268 | static void render_view_popups(struct sway_view *view, |
280 | struct sway_output *output, pixman_region32_t *damage, float alpha) { | 269 | struct sway_output *output, pixman_region32_t *damage, float alpha) { |
281 | struct render_data data = { | 270 | struct render_data data = { |
282 | .damage = damage, | 271 | .damage = damage, |
283 | .alpha = alpha, | 272 | .alpha = alpha, |
284 | }; | 273 | }; |
285 | output_view_for_each_popup(output, view, render_popup_iterator, &data); | 274 | output_view_for_each_popup_surface(output, view, |
275 | render_surface_iterator, &data); | ||
286 | } | 276 | } |
287 | 277 | ||
288 | static void render_saved_view(struct sway_view *view, | 278 | static void render_saved_view(struct sway_view *view, |