diff options
author | Seunghun Lee <shiin.lee@samsung.com> | 2014-07-26 10:13:02 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2014-08-04 18:01:23 -0400 |
commit | fed19387f60b7969442e9450ceef9c5341a91e44 (patch) | |
tree | 8d664231ea3fad17cd2cb47259781895ef9ebffc | |
parent | 9f265e407ef572362b4daf582c88f933191c4c69 (diff) | |
download | enlightenment-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.c | 8 |
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))) |