forked from enlightenment/enlightenment
perform move after resize during comp object show
in the case where an object is being shown before it has been moved or resized, a move operation will trigger a series of callbacks which force the compositor to attempt an illegal operation (recursive show before resize) fix T5521
This commit is contained in:
parent
e26f2a12f5
commit
4f77573e6c
|
@ -1718,9 +1718,6 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw)
|
|||
evas_object_show(cw->smart_obj);
|
||||
return;
|
||||
}
|
||||
/* re-set geometry */
|
||||
if (cw->ec->placed)
|
||||
evas_object_move(cw->smart_obj, cw->ec->x, cw->ec->y);
|
||||
/* ensure that some kind of frame calc has occurred if there's a frame */
|
||||
if (e_pixmap_is_x(cw->ec->pixmap) && cw->frame_object &&
|
||||
(cw->ec->h == cw->ec->client.h) && (cw->ec->w == cw->ec->client.w))
|
||||
|
@ -1734,6 +1731,10 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw)
|
|||
EC_CHANGED(cw->ec);
|
||||
return;
|
||||
}
|
||||
/* re-set geometry */
|
||||
if (cw->ec->placed)
|
||||
evas_object_move(cw->smart_obj, cw->ec->x, cw->ec->y);
|
||||
|
||||
/* if pixmap not available, clear pixmap since we're going to fetch it again */
|
||||
if (!e_pixmap_size_get(cw->ec->pixmap, &w, &h))
|
||||
e_pixmap_clear(cw->ec->pixmap);
|
||||
|
|
Loading…
Reference in New Issue