forked from enlightenment/enlightenment
comp wins for injected e objects now wait until animations are done before allowing deletion
SVN revision: 84093
This commit is contained in:
parent
1a0f84960a
commit
6cf4d21438
|
@ -1520,7 +1520,12 @@ _e_comp_done_defer(E_Comp_Win *cw)
|
|||
cw->force = 1;
|
||||
if (cw->defer_hide) _e_comp_win_hide(cw);
|
||||
cw->force = 1;
|
||||
if (cw->delete_me) _e_comp_win_del(cw);
|
||||
if (cw->delete_me)
|
||||
{
|
||||
if (cw->real_obj && (cw->pop || cw->menu))
|
||||
e_object_unref(evas_object_data_get(cw->obj, "eobj"));
|
||||
_e_comp_win_del(cw);
|
||||
}
|
||||
else cw->force = 0;
|
||||
}
|
||||
|
||||
|
@ -2442,6 +2447,8 @@ _e_comp_win_hide(E_Comp_Win *cw)
|
|||
cw->c->animating++;
|
||||
}
|
||||
cw->animating = 1;
|
||||
if (cw->real_obj && (cw->pop || cw->menu))
|
||||
e_object_ref(evas_object_data_get(cw->obj, "eobj"));
|
||||
_e_comp_win_render_queue(cw);
|
||||
|
||||
cw->pending_count++;
|
||||
|
|
|
@ -197,10 +197,13 @@ e_popup_hide(E_Popup *pop)
|
|||
E_OBJECT_TYPE_CHECK(pop, E_POPUP_TYPE);
|
||||
if (!pop->visible) return;
|
||||
pop->visible = 0;
|
||||
if (pop->cw) e_comp_win_hide(pop->cw);
|
||||
if (pop->cw)
|
||||
{
|
||||
e_comp_win_hide(pop->cw);
|
||||
e_comp_win_del(pop->cw);
|
||||
}
|
||||
if (!pop->autoclose) return;
|
||||
if (e_object_is_del(E_OBJECT(pop))) return;
|
||||
autoclose_popup = NULL;
|
||||
_e_popup_autoclose_cleanup();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue