diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-03-17 13:17:02 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-03-17 13:16:59 -0400 |
commit | 71c9cedfbfe46ce3c328fe44c34df9248ae807ff (patch) | |
tree | a14769573a24d2b1596fe8e25d9170215f1584b2 | |
parent | d99fe0e02a6f6e353723e187c99dcd9f05838e58 (diff) | |
download | enlightenment-71c9cedfbfe46ce3c328fe44c34df9248ae807ff.tar.gz |
only hide wl clients on surface destroy when surface is mapped
fixes some cases where hide animations would not be visible
-rw-r--r-- | src/bin/e_comp_wl.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 170a5b66e8..42d70d2585 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1795,19 +1795,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 |