[gnome-shell] overview: Really fix zoom animation



commit b1c936164cb225907d791427e6707f68713ea13a
Author: Adel Gadllah <adel gadllah gmail com>
Date:   Wed Jun 26 11:12:35 2013 +0200

    overview: Really fix zoom animation
    
    Commit 16fa186b633d attempted to fix the zoom animation problem
    by throwing changes on the floor while the overview is animating. This has
    the side effect that we might end up missing some positioning changes causes
    windows to overlap the workspace thumbnails.
    
    So revert those changes and fix it by simply by passing
    WindowPositionFlags.ANIMATE during the overview animation.
    This way the animation works as expected and we don't miss any position changes.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=703105

 js/ui/workspace.js      |    2 +-
 js/ui/workspacesView.js |    8 +-------
 2 files changed, 2 insertions(+), 8 deletions(-)
---
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index 7137504..dc7e43e 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -997,7 +997,7 @@ const Workspace = new Lang.Class({
 
             this._dropRect.set_position(geom.x, geom.y);
             this._dropRect.set_size(geom.width, geom.height);
-            this._updateWindowPositions(WindowPositionFlags.NONE);
+            this._updateWindowPositions(Main.overview.animationInProgress ? WindowPositionFlags.ANIMATE : 
WindowPositionFlags.NONE);
 
             this._actualGeometryLater = 0;
             return false;
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index 3eb9c0d..50f079c 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -446,7 +446,7 @@ const WorkspacesDisplay = new Lang.Class({
 
     _init: function() {
         this.actor = new St.Widget({ clip_to_allocation: true });
-        this.actor.connect('notify::allocation', Lang.bind(this, this._allocationChanged));
+        this.actor.connect('notify::allocation', Lang.bind(this, this._updateWorkspacesActualGeometry));
         this.actor.connect('parent-set', Lang.bind(this, this._parentSet));
 
         let clickAction = new Clutter.ClickAction()
@@ -676,12 +676,6 @@ const WorkspacesDisplay = new Lang.Class({
         }
     },
 
-    _allocationChanged: function() {
-        if (Main.overview.animationInProgress)
-            return;
-        this._updateWorkspacesActualGeometry();
-    },
-
     _updateWorkspacesActualGeometry: function() {
         if (!this._workspacesViews.length)
             return;


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