only show a comp win when it is no longer animating from a hide() call
this should greatly reduce pixmap tearing when mousing through menus quickly
This commit is contained in:
parent
6f1bbcf029
commit
f7496d1d35
|
@ -1549,6 +1549,14 @@ _e_comp_done_defer(E_Comp_Win *cw)
|
||||||
cw->c->animating--;
|
cw->c->animating--;
|
||||||
}
|
}
|
||||||
cw->animating = 0;
|
cw->animating = 0;
|
||||||
|
if (cw->visible && cw->win && cw->real_hid)
|
||||||
|
{
|
||||||
|
/* window show event occurred during hide animation */
|
||||||
|
//INF("UNSETTING real_hid %p:%u", cw, cw->win);
|
||||||
|
_e_comp_win_damage(cw, cw->x, cw->y, cw->w, cw->h, 0);
|
||||||
|
_e_comp_child_hide(cw);
|
||||||
|
cw->real_hid = 0;
|
||||||
|
}
|
||||||
_e_comp_win_render_queue(cw);
|
_e_comp_win_render_queue(cw);
|
||||||
cw->force = 1;
|
cw->force = 1;
|
||||||
if (cw->defer_hide) _e_comp_win_hide(cw);
|
if (cw->defer_hide) _e_comp_win_hide(cw);
|
||||||
|
@ -2468,7 +2476,7 @@ _e_comp_win_show(E_Comp_Win *cw)
|
||||||
if (cw->real_hid)
|
if (cw->real_hid)
|
||||||
{
|
{
|
||||||
DBG(" [0x%x] real hid - fix", cw->win);
|
DBG(" [0x%x] real hid - fix", cw->win);
|
||||||
cw->real_hid = 0;
|
cw->real_hid = cw->animating;
|
||||||
if (cw->native)
|
if (cw->native)
|
||||||
{
|
{
|
||||||
evas_object_image_native_surface_set(cw->obj, NULL);
|
evas_object_image_native_surface_set(cw->obj, NULL);
|
||||||
|
|
Loading…
Reference in New Issue