discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=451d1253fea952759b545622bbcfb70f8abc3056

commit 451d1253fea952759b545622bbcfb70f8abc3056
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Mar 17 13:17:02 2017 -0400

    only hide wl clients on surface destroy when surface is mapped
    
    fixes some cases where hide animations would not be visible
---
 src/bin/e_comp_wl.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index ba2a1da..52998c5 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1755,19 +1755,20 @@ _e_comp_wl_surface_destroy(struct wl_resource *resource)
 
    if (!(ec = wl_resource_get_user_data(resource))) return;
 
-   if (ec->internal_elm_win)
+   if (!e_object_is_del(E_OBJECT(ec)))
      {
-        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)))
+        if (ec->comp_data->mapped)
           ec->comp_data->mapped = EINA_FALSE;
         evas_object_hide(ec->frame);
      }
-   else
+
+   if (ec->internal_elm_win)
      {
-        evas_object_hide(ec->frame);
-        e_object_del(E_OBJECT(ec));
+        e_pixmap_alias(ec->pixmap, E_PIXMAP_TYPE_WL, 
wl_resource_get_id(resource));
+        ec->ignored = 1;
      }
+   else
+     e_object_del(E_OBJECT(ec));
 }
 
 static void

-- 


Reply via email to