[gnome-shell] legacyTray: Remove pointer barrier when the tray is hidden



commit ef6e8f5bb20d6f9587356d3433ca51624d4833b1
Author: Florian Müllner <fmuellner gnome org>
Date:   Sat Mar 21 19:10:04 2015 +0100

    legacyTray: Remove pointer barrier when the tray is hidden
    
    https://bugzilla.gnome.org/show_bug.cgi?id=746579

 js/ui/legacyTray.js |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)
---
diff --git a/js/ui/legacyTray.js b/js/ui/legacyTray.js
index 40b47a0..821dd9d 100644
--- a/js/ui/legacyTray.js
+++ b/js/ui/legacyTray.js
@@ -205,11 +205,7 @@ const LegacyTray = new Lang.Class({
             this._horizontalBarrier.y2 == y2)
             return;
 
-        if (this._horizontalBarrier) {
-            this._pressureBarrier.removeBarrier(this._horizontalBarrier);
-            this._horizontalBarrier.destroy();
-            this._horizontalBarrier = null;
-        }
+        this._unsetBarrier();
 
         let directions = (rtl ? Meta.BarrierDirection.NEGATIVE_X : Meta.BarrierDirection.POSITIVE_X);
         this._horizontalBarrier = new Meta.Barrier({ display: global.display,
@@ -219,6 +215,15 @@ const LegacyTray = new Lang.Class({
         this._pressureBarrier.addBarrier(this._horizontalBarrier);
     },
 
+    _unsetBarrier: function() {
+        if (this._horizontalBarrier == null)
+            return;
+
+        this._pressureBarrier.removeBarrier(this._horizontalBarrier);
+        this._horizontalBarrier.destroy();
+        this._horizontalBarrier = null;
+    },
+
     _sync: function() {
         // FIXME: we no longer treat tray icons as notifications
         let allowed = Main.sessionMode.hasNotifications;
@@ -244,12 +249,14 @@ const LegacyTray = new Lang.Class({
                 targetSlide *= CONCEALED_VISIBLE_FRACTION;
         }
 
-        if (this.actor.visible)
+        if (this.actor.visible) {
             Tweener.addTween(this._slideLayout,
                              { slideX: targetSlide,
                                time: REVEAL_ANIMATION_TIME,
                                transition: 'easeOutQuad' });
-        else
+        } else {
             this._slideLayout.slideX = targetSlide;
+            this._unsetBarrier();
+        }
     }
 });


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