aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-05-12 19:33:38 +0100
committeremersion <contact@emersion.fr>2018-05-12 19:33:38 +0100
commit360e63b8a73836b85b44980ce7e0f77348d43df3 (patch)
tree963c5348e2d48ed188e2d4f08ecb01898f1d116d /sway
parentb1c33ecc256c58c7ecee28e2f4507dd374727d62 (diff)
Don't destroy view child on xdg-popup unmap
Diffstat (limited to 'sway')
-rw-r--r--sway/desktop/xdg_shell_v6.c8
-rw-r--r--sway/desktop/xwayland.c4
2 files changed, 0 insertions, 12 deletions
diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c
index 8ecb330d..e9051b6c 100644
--- a/sway/desktop/xdg_shell_v6.c
+++ b/sway/desktop/xdg_shell_v6.c
@@ -20,7 +20,6 @@ static void popup_destroy(struct sway_view_child *child) {
}
struct sway_xdg_popup_v6 *popup = (struct sway_xdg_popup_v6 *)child;
wl_list_remove(&popup->new_popup.link);
- wl_list_remove(&popup->unmap.link);
wl_list_remove(&popup->destroy.link);
free(popup);
}
@@ -39,11 +38,6 @@ static void popup_handle_new_popup(struct wl_listener *listener, void *data) {
popup_create(wlr_popup, popup->child.view);
}
-static void popup_handle_unmap(struct wl_listener *listener, void *data) {
- struct sway_xdg_popup_v6 *popup = wl_container_of(listener, popup, unmap);
- view_child_destroy(&popup->child);
-}
-
static void popup_handle_destroy(struct wl_listener *listener, void *data) {
struct sway_xdg_popup_v6 *popup = wl_container_of(listener, popup, destroy);
view_child_destroy(&popup->child);
@@ -62,8 +56,6 @@ static struct sway_xdg_popup_v6 *popup_create(
wl_signal_add(&xdg_surface->events.new_popup, &popup->new_popup);
popup->new_popup.notify = popup_handle_new_popup;
- wl_signal_add(&xdg_surface->events.unmap, &popup->unmap);
- popup->unmap.notify = popup_handle_unmap;
wl_signal_add(&xdg_surface->events.destroy, &popup->destroy);
popup->destroy.notify = popup_handle_destroy;
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c
index 8f935760..1d3c857d 100644
--- a/sway/desktop/xwayland.c
+++ b/sway/desktop/xwayland.c
@@ -82,10 +82,6 @@ static void unmanaged_handle_unmap(struct wl_listener *listener, void *data) {
static void unmanaged_handle_destroy(struct wl_listener *listener, void *data) {
struct sway_xwayland_unmanaged *surface =
wl_container_of(listener, surface, destroy);
- struct wlr_xwayland_surface *xsurface = surface->wlr_xwayland_surface;
- if (xsurface->mapped) {
- unmanaged_handle_unmap(&surface->unmap, xsurface);
- }
wl_list_remove(&surface->map.link);
wl_list_remove(&surface->unmap.link);
wl_list_remove(&surface->destroy.link);