summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeunghun Lee <shiin.lee@samsung.com>2014-07-26 10:13:02 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2014-08-04 18:01:23 -0400
commitfed19387f60b7969442e9450ceef9c5341a91e44 (patch)
tree8d664231ea3fad17cd2cb47259781895ef9ebffc
parent9f265e407ef572362b4daf582c88f933191c4c69 (diff)
downloadenlightenment-fed19387f60b7969442e9450ceef9c5341a91e44.tar.gz
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
-rw-r--r--src/modules/wl_desktop_shell/e_mod_main.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c
index 0e77dd9db0..d4c5263bb6 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)))