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 --
