evas_object_hide(cw->effect_obj);
if (cw->transform_bg_obj) evas_object_hide(cw->transform_bg_obj);
if (cw->transform_tranp_obj) evas_object_hide(cw->transform_tranp_obj);
+ if (cw->ec->dead)
+ {
+ Evas_Object *o;
+
+ evas_object_hide(cw->obj);
+ 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 (!_e_comp_object_animating_end(cw))
+ {
+ TRACE_DS_END();
+ return;
+ }
+ }
if (stopping)
{
TRACE_DS_END();
{
/* FIXME: this may be fine after e_pixmap can create textures for wl clients? */
//if ((!ec->internal) && (!e_comp_gl_get()))
- ec->dead = 1;
+ ec->dead = ec->hidden = 1;
/* check if internal animation is running */
if (e_comp_object_is_animating(ec->frame)) return;