diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index bfada4f92..0fdee9a8f 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1947,6 +1947,18 @@ _e_comp_smart_hide(Evas_Object *obj) if (cw->input_obj) evas_object_hide(cw->input_obj); evas_object_hide(cw->effect_obj); evas_object_hide(cw->obj); + if (cw->ec->dead && cw->obj_mirror) + { + Evas_Object *o; + + EINA_LIST_FREE(cw->obj_mirror, o) + { + evas_object_image_data_set(o, NULL); + evas_object_freeze_events_set(o, 1); + evas_object_event_callback_del_full(o, EVAS_CALLBACK_DEL, _e_comp_object_cb_mirror_del, cw); + evas_object_del(o); + } + } if (stopping) return; /* ensure focus-out */ if (cw->ec->focused) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 6ec02a50f..ad3a2eee2 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1356,7 +1356,7 @@ _e_comp_wl_surface_destroy(struct wl_resource *resource) return; if ((!ec->internal) && (!e_comp_gl_get())) - ec->hidden = 1; + ec->dead = ec->hidden = 1; evas_object_hide(ec->frame); e_object_del(E_OBJECT(ec)); }