summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-03-17 13:17:02 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-03-17 13:16:59 -0400
commit71c9cedfbfe46ce3c328fe44c34df9248ae807ff (patch)
treea14769573a24d2b1596fe8e25d9170215f1584b2
parentd99fe0e02a6f6e353723e187c99dcd9f05838e58 (diff)
downloadenlightenment-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.c15
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