From 89b288147667e87b43489f0f00469d0bd7f4947c Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Sat, 26 Jul 2014 10:13:02 -0400 Subject: [PATCH] clear parent's list of transients, when set parent to NULL. Summary: we also need to clear parent's resource. Test Plan: N/A Reviewers: devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D1238 --- src/modules/wl_desktop_shell/e_mod_main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 0e77dd9db..d4c5263bb 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -15,7 +15,13 @@ _e_shell_surface_parent_set(E_Client *ec, struct wl_resource *parent_resource) { ec->icccm.fetch.transient_for = EINA_FALSE; ec->icccm.transient_for = 0; - ec->parent = NULL; + if (ec->parent) + { + ec->parent->transients = + eina_list_remove(ec->parent->transients, ec); + if (ec->parent->modal == ec) ec->parent->modal = NULL; + ec->parent = NULL; + } return; } else if (!(pp = wl_resource_get_user_data(parent_resource)))