]> git.mdlowis.com Git - proto/labwc.git/commitdiff
Move common xdg/xwayland handle_destroy() code to view_destroy()
authorJohan Malm <jgm323@gmail.com>
Fri, 24 Feb 2023 21:45:03 +0000 (21:45 +0000)
committerConsolatis <35009135+Consolatis@users.noreply.github.com>
Fri, 24 Feb 2023 21:56:00 +0000 (22:56 +0100)
src/view.c
src/xdg.c
src/xwayland.c

index 861fcbd7e6ece6b372bdda8263e83dad748f48df..9bd38757c4a2c8781105634671aae50d8a262200 100644 (file)
@@ -1019,6 +1019,16 @@ view_destroy(struct view *view)
        struct server *server = view->server;
        bool need_cursor_update = false;
 
+       wl_list_remove(&view->map.link);
+       wl_list_remove(&view->unmap.link);
+       wl_list_remove(&view->request_move.link);
+       wl_list_remove(&view->request_resize.link);
+       wl_list_remove(&view->request_minimize.link);
+       wl_list_remove(&view->request_maximize.link);
+       wl_list_remove(&view->request_fullscreen.link);
+       wl_list_remove(&view->set_title.link);
+       wl_list_remove(&view->destroy.link);
+
        if (view->toplevel.handle) {
                wlr_foreign_toplevel_handle_v1_destroy(view->toplevel.handle);
        }
index 858e915b9dda983e473c8f48578a3cabae79a219..ddf664c014634291daa0c6c29e0c3eeed56a0da6 100644 (file)
--- a/src/xdg.c
+++ b/src/xdg.c
@@ -127,20 +127,10 @@ handle_destroy(struct wl_listener *listener, void *data)
        xdg_toplevel_view->xdg_surface->data = NULL;
        xdg_toplevel_view->xdg_surface = NULL;
 
-       wl_list_remove(&view->map.link);
-       wl_list_remove(&view->unmap.link);
-       wl_list_remove(&view->request_move.link);
-       wl_list_remove(&view->request_resize.link);
-       wl_list_remove(&view->request_minimize.link);
-       wl_list_remove(&view->request_maximize.link);
-       wl_list_remove(&view->request_fullscreen.link);
-       wl_list_remove(&view->set_title.link);
-
+       /* Remove xdg-shell view specific listeners */
        wl_list_remove(&xdg_toplevel_view->set_app_id.link);
        wl_list_remove(&xdg_toplevel_view->new_popup.link);
 
-       wl_list_remove(&view->destroy.link);
-
        view_destroy(view);
 }
 
index 104c92c9ef7ab966c99b0c854dd1e0125cb0bcd5..db2e4a38b9d7e5d5a8fab474d0eb1a24050d64c6 100644 (file)
@@ -222,25 +222,13 @@ handle_destroy(struct wl_listener *listener, void *data)
        xwayland_view->xwayland_surface->data = NULL;
        xwayland_view->xwayland_surface = NULL;
 
-       /* Remove XWayland specific handlers */
-       wl_list_remove(&view->map.link);
-       wl_list_remove(&view->unmap.link);
-       wl_list_remove(&view->request_move.link);
-       wl_list_remove(&view->request_resize.link);
-       wl_list_remove(&view->request_minimize.link);
-       wl_list_remove(&view->request_maximize.link);
-       wl_list_remove(&view->request_fullscreen.link);
-       wl_list_remove(&view->set_title.link);
-
+       /* Remove XWayland view specific listeners */
        wl_list_remove(&xwayland_view->request_activate.link);
        wl_list_remove(&xwayland_view->request_configure.link);
        wl_list_remove(&xwayland_view->set_app_id.link);
        wl_list_remove(&xwayland_view->set_decorations.link);
        wl_list_remove(&xwayland_view->override_redirect.link);
 
-       wl_list_remove(&view->destroy.link);
-
-       /* And finally destroy / free the view */
        view_destroy(view);
 }