From ef6e8f5bb20d6f9587356d3433ca51624d4833b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 21 Mar 2015 19:10:04 +0100 Subject: [PATCH] legacyTray: Remove pointer barrier when the tray is hidden https://bugzilla.gnome.org/show_bug.cgi?id=746579 --- js/ui/legacyTray.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/js/ui/legacyTray.js b/js/ui/legacyTray.js index 40b47a02a..821dd9dc4 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(); + } } });