From 6412d25602956f6acfd64eceac6f3c62f9f7b76f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 1 Dec 2017 16:03:34 +0800 Subject: [PATCH] wayland: Destroy the xdg_imported after the wl_surface This way the window manager can handle destruction while having the transient-for relationship still valid. https://bugzilla.gnome.org/show_bug.cgi?id=791062 --- gdk/wayland/gdkwindow-wayland.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c index 214bda4cc5..ebfe9ab113 100644 --- a/gdk/wayland/gdkwindow-wayland.c +++ b/gdk/wayland/gdkwindow-wayland.c @@ -2448,8 +2448,6 @@ gdk_wayland_window_hide_surface (GdkWindow *window) GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (gdk_window_get_display (window)); GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); - unset_transient_for_exported (window); - unmap_popups_for_window (window); if (impl->display_server.wl_surface) @@ -2531,6 +2529,8 @@ gdk_wayland_window_hide_surface (GdkWindow *window) g_list_remove (display_wayland->orphan_dialogs, window); } + unset_transient_for_exported (window); + _gdk_wayland_window_clear_saved_size (window); impl->pending_commit = FALSE; impl->mapped = FALSE;