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);
 }
 

-- 


Reply via email to