forked from enlightenment/enlightenment
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
This commit is contained in:
parent
51772d1596
commit
1c4b11ef9f
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue