aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/render.c
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2021-01-08 10:46:12 +0100
committerLibravatar Simon Ser <contact@emersion.fr>2021-01-12 11:25:34 +0100
commit5438cc158a1b9fa3bf76445a6dc986e30c5e78f6 (patch)
tree7feb4dce6441803e7ddd50b7747ebb6a46a2a485 /sway/desktop/render.c
parentFix #5940 (diff)
downloadsway-5438cc158a1b9fa3bf76445a6dc986e30c5e78f6.tar.gz
sway-5438cc158a1b9fa3bf76445a6dc986e30c5e78f6.tar.zst
sway-5438cc158a1b9fa3bf76445a6dc986e30c5e78f6.zip
Switch to wlr_xdg_surface_for_each_popup_surface
Instead of calling wlr_xdg_surface_for_each_popup and then wlr_surface_for_each_surface, use the new for_each_popup_surface helper introduced in [1] that does it in one go. [1]: https://github.com/swaywm/wlroots/pull/2609
Diffstat (limited to 'sway/desktop/render.c')
-rw-r--r--sway/desktop/render.c14
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
268static 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
279static void render_view_popups(struct sway_view *view, 268static 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
288static void render_saved_view(struct sway_view *view, 278static void render_saved_view(struct sway_view *view,