GNOME Bugzilla – Bug 611944
[StScrollBar] avoid queueing a relayout during allocation
Last modified: 2010-03-11 20:09:42 UTC
This is a bug fix for StScrollBar and Clutter 1.2; it also requires Clutter-1.2 since the ::queue-relayout method of ClutterActor is new in 1.2.
Created attachment 155363 [details] [review] [StScrollBar] avoid queueing a relayout during allocation When an StScrollView is allocated, allocating the child would cause the adjustment values to change, which would result in the scrollbars queueing a relayout, which isn't allowed during allocation. To avoid this, instead of queueing a relayout when the adjustment changes: - When we have a valid allocation already, just go ahead and reallocate the children. - Otherwise do nothing immediately and wait until we get allocated Because the 'needs_allocation' flag in ClutterActor isn't exposed, this requires some slightly ugly code to shadow that state locally.
Created attachment 155366 [details] [review] [StScrollBar] avoid queueing a relayout during allocation Added link to newly filed: http://bugzilla.openedhand.com/show_bug.cgi?id=2024 to the comment explaining the workaround handling of needs_allocation.
Created attachment 155379 [details] [review] [StScrollBar] avoid queueing a relayout during allocation Minor fix for a compilation problem.
Comment on attachment 155379 [details] [review] [StScrollBar] avoid queueing a relayout during allocation looks good
Attachment 155379 [details] pushed as 524e2ca - [StScrollBar] avoid queueing a relayout during allocation