aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/sway/output.h6
-rw-r--r--sway/desktop/output.c15
-rw-r--r--sway/desktop/render.c4
3 files changed, 13 insertions, 12 deletions
diff --git a/include/sway/output.h b/include/sway/output.h
index 99b0bcc6..10a14207 100644
--- a/include/sway/output.h
+++ b/include/sway/output.h
@@ -103,8 +103,8 @@ void output_unmanaged_for_each_surface(struct sway_output *output,
103 void *user_data); 103 void *user_data);
104#endif 104#endif
105 105
106void output_drag_icons_for_each_surface(struct wl_list *drag_icons, 106void output_drag_icons_for_each_surface(struct sway_output *output,
107 struct sway_output *output, struct root_geometry *geo, 107 struct wl_list *drag_icons, sway_surface_iterator_func_t iterator,
108 wlr_surface_iterator_func_t iterator, void *user_data); 108 void *user_data);
109 109
110#endif 110#endif
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index 9c2a1a07..e83a9a3d 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -197,17 +197,18 @@ void output_unmanaged_for_each_surface(struct sway_output *output,
197} 197}
198#endif 198#endif
199 199
200void output_drag_icons_for_each_surface(struct wl_list *drag_icons, 200void output_drag_icons_for_each_surface(struct sway_output *output,
201 struct sway_output *output, struct root_geometry *geo, 201 struct wl_list *drag_icons, sway_surface_iterator_func_t iterator,
202 wlr_surface_iterator_func_t iterator, void *user_data) { 202 void *user_data) {
203 struct sway_drag_icon *drag_icon; 203 struct sway_drag_icon *drag_icon;
204 wl_list_for_each(drag_icon, drag_icons, link) { 204 wl_list_for_each(drag_icon, drag_icons, link) {
205 double ox = drag_icon->x - output->swayc->x; 205 double ox = drag_icon->x - output->swayc->x;
206 double oy = drag_icon->y - output->swayc->y; 206 double oy = drag_icon->y - output->swayc->y;
207 207
208 if (drag_icon->wlr_drag_icon->mapped) { 208 if (drag_icon->wlr_drag_icon->mapped) {
209 output_surface_for_each_surface(drag_icon->wlr_drag_icon->surface, 209 output_surface_for_each_surface2(output,
210 ox, oy, geo, iterator, user_data); 210 drag_icon->wlr_drag_icon->surface, ox, oy, 0,
211 iterator, user_data);
211 } 212 }
212 } 213 }
213} 214}
@@ -303,8 +304,8 @@ static void send_frame_done_unmanaged(struct send_frame_done_data *data,
303 304
304static void send_frame_done_drag_icons(struct send_frame_done_data *data, 305static void send_frame_done_drag_icons(struct send_frame_done_data *data,
305 struct wl_list *drag_icons) { 306 struct wl_list *drag_icons) {
306 output_drag_icons_for_each_surface(drag_icons, data->output, &data->root_geo, 307 output_drag_icons_for_each_surface(data->output, drag_icons,
307 send_frame_done_iterator, data); 308 send_frame_done_iterator2, data);
308} 309}
309 310
310static void send_frame_done_container_iterator(struct sway_container *con, 311static void send_frame_done_container_iterator(struct sway_container *con,
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index 8eea19e0..1270b7cf 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -179,8 +179,8 @@ static void render_drag_icons(struct sway_output *output,
179 .damage = damage, 179 .damage = damage,
180 .alpha = 1.0f, 180 .alpha = 1.0f,
181 }; 181 };
182 output_drag_icons_for_each_surface(drag_icons, output, &data.root_geo, 182 output_drag_icons_for_each_surface(output, drag_icons,
183 render_surface_iterator, &data); 183 render_surface_iterator2, &data);
184} 184}
185 185
186static void render_rect(struct wlr_output *wlr_output, 186static void render_rect(struct wlr_output *wlr_output,