]> git.mdlowis.com Git - proto/labwc.git/commitdiff
xdg: chase swaywm/wlroots@f574ca934c80
authorJan Beich <jbeich@FreeBSD.org>
Sat, 13 Mar 2021 21:07:11 +0000 (21:07 +0000)
committerJohan Malm <johanmalm@users.noreply.github.com>
Sat, 13 Mar 2021 23:23:33 +0000 (23:23 +0000)
src/xdg.c:180:2: warning: implicit declaration of function 'wlr_xdg_surface_for_each_popup' is invalid in C99 [-Wimplicit-function-declaration]
        wlr_xdg_surface_for_each_popup(view->xdg_surface, iterator, data);
        ^
ld: error: undefined symbol: wlr_xdg_surface_for_each_popup
>>> referenced by xdg.c:180 (src/xdg.c:180)
>>>               labwc.p/src_xdg.c.o:(xdg_toplevel_view_for_each_popup)

Based on https://github.com/swaywm/sway/commit/5438cc158a1b

include/labwc.h
src/output.c
src/view.c
src/xdg.c

index 2a924f67ecb48c435fe34a01a0d9a220c81cbd96..6fb597db878da05f41f693a802d386390b42a35a 100644 (file)
@@ -161,7 +161,7 @@ enum deco_part {
 struct view_impl {
        void (*configure)(struct view *view, struct wlr_box geo);
        void (*close)(struct view *view);
-       void (*for_each_popup)(struct view *view,
+       void (*for_each_popup_surface)(struct view *view,
                wlr_surface_iterator_func_t iterator, void *data);
        void (*for_each_surface)(struct view *view,
                wlr_surface_iterator_func_t iterator, void *data);
@@ -302,7 +302,7 @@ void view_unminimize(struct view *view);
 void view_maximize(struct view *view, bool maximize);
 void view_for_each_surface(struct view *view,
        wlr_surface_iterator_func_t iterator, void *user_data);
-void view_for_each_popup(struct view *view,
+void view_for_each_popup_surface(struct view *view,
        wlr_surface_iterator_func_t iterator, void *data);
 
 void desktop_focus_view(struct seat *seat, struct view *view);
index 352981a5a92969f3a5281bd3d660fc7fcd3fa4eb..1f75a66a8ab3d0b3d637e7074986c03c9ad9d6a0 100644 (file)
@@ -223,7 +223,7 @@ output_view_for_each_surface(struct output *output, struct view *view,
 }
 
 void
-output_view_for_each_popup(struct output *output, struct view *view,
+output_view_for_each_popup_surface(struct output *output, struct view *view,
                surface_iterator_func_t iterator, void *user_data)
 {
        struct surface_iterator_data data = {
@@ -236,7 +236,7 @@ output_view_for_each_popup(struct output *output, struct view *view,
 
        wlr_output_layout_output_coords(output->server->output_layout,
                output->wlr_output, &data.ox, &data.oy);
-       view_for_each_popup(view, output_for_each_surface_iterator, &data);
+       view_for_each_popup_surface(view, output_for_each_surface_iterator, &data);
 }
 
 /* for sending frame done */
@@ -572,18 +572,6 @@ render_view_toplevels(struct view *view, struct output *output,
                render_surface_iterator, &data);
 }
 
-static void
-render_popup_iterator(struct output *output, struct wlr_surface *surface,
-               struct wlr_box *box, void *data)
-{
-       /* Render this popup's surface */
-       render_surface_iterator(output, surface, box, data);
-
-       /* Render this popup's child toplevels */
-       output_surface_for_each_surface(output, surface, box->x, box->y,
-               render_surface_iterator, data);
-}
-
 static void
 render_view_popups(struct view *view, struct output *output,
                pixman_region32_t *damage)
@@ -591,7 +579,7 @@ render_view_popups(struct view *view, struct output *output,
        struct render_data data = {
                .damage = damage,
        };
-       output_view_for_each_popup(output, view, render_popup_iterator, &data);
+       output_view_for_each_popup_surface(output, view, render_surface_iterator, &data);
 }
 
 void
index 261674146bf853b55f9ff278f39faa743799de76..698ff880a3a0f7ae478ec7faeaf93f134ce5cb97 100644 (file)
@@ -89,12 +89,12 @@ view_for_each_surface(struct view *view, wlr_surface_iterator_func_t iterator,
 }
 
 void
-view_for_each_popup(struct view *view, wlr_surface_iterator_func_t iterator,
+view_for_each_popup_surface(struct view *view, wlr_surface_iterator_func_t iterator,
                void *data)
 {
-       if (!view->impl->for_each_popup) {
+       if (!view->impl->for_each_popup_surface) {
                return;
        }
-       view->impl->for_each_popup(view, iterator, data);
+       view->impl->for_each_popup_surface(view, iterator, data);
 }
 
index e35d5f21a7de95f672aff90f6ced0c4373cfeffe..cbb91c89c06d7c46020bbcc9272bb6c44a2eef30 100644 (file)
--- a/src/xdg.c
+++ b/src/xdg.c
@@ -169,10 +169,10 @@ xdg_toplevel_view_close(struct view *view)
 }
 
 static void
-xdg_toplevel_view_for_each_popup(struct view *view,
+xdg_toplevel_view_for_each_popup_surface(struct view *view,
                wlr_surface_iterator_func_t iterator, void *data)
 {
-       wlr_xdg_surface_for_each_popup(view->xdg_surface, iterator, data);
+       wlr_xdg_surface_for_each_popup_surface(view->xdg_surface, iterator, data);
 }
 
 static void
@@ -247,7 +247,7 @@ xdg_toplevel_view_unmap(struct view *view)
 static const struct view_impl xdg_toplevel_view_impl = {
        .configure = xdg_toplevel_view_configure,
        .close = xdg_toplevel_view_close,
-       .for_each_popup = xdg_toplevel_view_for_each_popup,
+       .for_each_popup_surface = xdg_toplevel_view_for_each_popup_surface,
        .for_each_surface = xdg_toplevel_view_for_each_surface,
        .map = xdg_toplevel_view_map,
        .move = xdg_toplevel_view_move,