discomfitor pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=8155b456feba133846d29eb8c0144217f7c2c8ca
commit 8155b456feba133846d29eb8c0144217f7c2c8ca Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Tue Nov 8 12:44:11 2016 -0500 reset initial internal wl client states when hiding (but not deleting) ensure that these windows are not able to be shown again until commits occur --- src/bin/e_comp_wl.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 95318d4..0ed4a0a 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -959,7 +959,13 @@ _e_comp_wl_evas_cb_kill_request(void *data, Evas_Object *obj EINA_UNUSED, void * evas_object_pass_events_set(ec->frame, EINA_TRUE); if (ec->visible) evas_object_hide(ec->frame); - if (!ec->internal) e_object_del(E_OBJECT(ec)); + if (ec->internal) + { + ec->ignored = 1; + if (!e_object_is_del(E_OBJECT(ec))) + ec->comp_data->mapped = EINA_FALSE; + } + else e_object_del(E_OBJECT(ec)); _e_comp_wl_focus_check(); } @@ -1759,8 +1765,14 @@ _e_comp_wl_surface_destroy(struct wl_resource *resource) if (!(ec = wl_resource_get_user_data(resource))) return; - e_pixmap_alias(ec->pixmap, E_PIXMAP_TYPE_WL, wl_resource_get_id(resource)); - if (!ec->internal) e_object_del(E_OBJECT(ec)); + if (ec->internal) + { + e_pixmap_alias(ec->pixmap, E_PIXMAP_TYPE_WL, wl_resource_get_id(resource)); + ec->ignored = 1; + if (!e_object_is_del(E_OBJECT(ec))) + ec->comp_data->mapped = EINA_FALSE; + } + else e_object_del(E_OBJECT(ec)); evas_object_hide(ec->frame); } --