GNOME Bugzilla – Bug 637829
Corruption when using the calendar
Last modified: 2011-01-04 16:21:16 UTC
Clicking around in the calendar results into: (mutter:12238): Clutter-WARNING **: The actor 'calendarPopup' is currently inside an allocation cycle; calling clutter_actor_queue_relayout() is not recommended (mutter:12238): Clutter-WARNING **: The actor 'ShellGenericContainer' is currently inside an allocation cycle; calling clutter_actor_queue_relayout() is not recommended (mutter:12238): Clutter-WARNING **: The actor 'ClutterGroup' is currently inside an allocation cycle; calling clutter_actor_queue_relayout() is not recommended and leads to similar corruption as reported in bug 637498 .
Created attachment 176896 [details] [review] calendar: Use AlignConstraint center the popup This fixes warnings like: (mutter:12238): Clutter-WARNING **: The actor 'calendarPopup' is currently inside an allocation cycle; calling clutter_actor_queue_relayout() is not recommended which result into a corrupted display.
Review of attachment 176896 [details] [review]: If you remove centerPopup and the remaining call to it, you'll find this doesn't work.
Created attachment 177463 [details] [review] calendar: Use AlignConstraint center the popup This fixes warnings like: (mutter:12238): Clutter-WARNING **: The actor 'calendarPopup' is currently inside an allocation cycle; calling clutter_actor_queue_relayout() is not recommended which result into a corrupted display. --- Constraint was applyied to the wrong actor, and the factor was wrong too. Fixed both and removed centerPopup
Review of attachment 177463 [details] [review]: One comment, otherwise OK to commit. (And remove the part of the commit message about corrupted display) ::: js/ui/panel.js @@ +1018,3 @@ _init: function() { let panelActor = Main.panel.actor; + let alignConstraint = new Clutter.AlignConstraint({ source: panelActor, factor: 0.5 }); I think you should add an explicit align_axis: Clutter.AlignAxis.X_AXIS since aligning along the X axis isn't in any way more fundamental - it's just what the default happens to be. (And break things onto multiple lines)