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);
|
evas_object_show(cw->smart_obj);
|
||||||
return;
|
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 */
|
/* 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 &&
|
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))
|
(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);
|
EC_CHANGED(cw->ec);
|
||||||
return;
|
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 pixmap not available, clear pixmap since we're going to fetch it again */
|
||||||
if (!e_pixmap_size_get(cw->ec->pixmap, &w, &h))
|
if (!e_pixmap_size_get(cw->ec->pixmap, &w, &h))
|
||||||
e_pixmap_clear(cw->ec->pixmap);
|
e_pixmap_clear(cw->ec->pixmap);
|
||||||
|
|
Loading…
Reference in New Issue