shell: Use new map/unmap events

For xwayland we must listen on associate/dissociate to set up and tear
down the map/unmap event handlers instead of during surface
create/destroy.
This commit is contained in:
Kenny Levinsen 2023-09-30 13:40:33 +02:00 committed by Simon Ser
parent 4ea6a8b1a7
commit 2d4b7a4e23
3 changed files with 37 additions and 8 deletions

View file

@ -238,9 +238,9 @@ handle_xdg_shell_surface_new(struct wl_listener *listener, void *data)
xdg_shell_view->xdg_toplevel = xdg_surface->toplevel;
xdg_shell_view->map.notify = handle_xdg_shell_surface_map;
wl_signal_add(&xdg_surface->events.map, &xdg_shell_view->map);
wl_signal_add(&xdg_surface->surface->events.map, &xdg_shell_view->map);
xdg_shell_view->unmap.notify = handle_xdg_shell_surface_unmap;
wl_signal_add(&xdg_surface->events.unmap, &xdg_shell_view->unmap);
wl_signal_add(&xdg_surface->surface->events.unmap, &xdg_shell_view->unmap);
xdg_shell_view->destroy.notify = handle_xdg_shell_surface_destroy;
wl_signal_add(&xdg_surface->events.destroy, &xdg_shell_view->destroy);
xdg_shell_view->request_fullscreen.notify = handle_xdg_shell_surface_request_fullscreen;