stage: Unset the natural size when fullscreening
This ensures that constraints and signal handlers will go through the allocation and not through the cache after ::fullscreen has been emitted.
This commit is contained in:
parent
612b714149
commit
b12514ff9a
@ -897,6 +897,14 @@ clutter_stage_real_fullscreen (ClutterStage *stage)
|
||||
box.x2 = geom.width;
|
||||
box.y2 = geom.height;
|
||||
|
||||
/* we need to blow the caching on the Stage size, given that
|
||||
* we're about to force an allocation, because if anything
|
||||
* ends up querying the size of the stage during the allocate()
|
||||
* call, like constraints or signal handlers, we'll get into an
|
||||
* inconsistent state: the stage will report the old cached size,
|
||||
* but the allocation will be updated anyway.
|
||||
*/
|
||||
clutter_actor_set_size (CLUTTER_ACTOR (stage), -1.0, -1.0);
|
||||
clutter_actor_allocate (CLUTTER_ACTOR (stage),
|
||||
&box,
|
||||
CLUTTER_ALLOCATION_NONE);
|
||||
|
Loading…
Reference in New Issue
Block a user