[gnome-shell] overviewControls: Fix reallocation cycles



commit e19a927579942e95d0719a47a3ac6e4fd317baa5
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Sun Feb 17 13:51:51 2013 -0500

    overviewControls: Fix reallocation cycles
    
    Instead of setting a new height, let the Clutter relayout
    machinery do the work for us.

 js/ui/overviewControls.js |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)
---
diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js
index 9342090..1a0dc3d 100644
--- a/js/ui/overviewControls.js
+++ b/js/ui/overviewControls.js
@@ -3,6 +3,7 @@
 const Clutter = imports.gi.Clutter;
 const Lang = imports.lang;
 const St = imports.gi.St;
+const Shell = imports.gi.Shell;
 
 const Main = imports.ui.main;
 const Tweener = imports.ui.tweener;
@@ -305,14 +306,11 @@ const SlidingControlContainer = new Lang.Class({
         child.x_expand = true;
         this.add_actor(child);
 
-        let entryClone = new St.Widget();
-        entryClone.height = entryBin.height;
+        let entryClone = new Shell.GenericContainer();
+        entryClone.connect('get-preferred-height', function(actor, forWidth, alloc) {
+            [alloc.min_size, alloc.natural_size] = [entryBin.height, entryBin.height];
+        });
         this.add_actor(entryClone);
-
-        entryBin.connect('notify::height', Lang.bind(this,
-            function() {
-                entryClone.height = entryBin.height;
-            }));
     }
 });
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]