[gnome-shell/gnome-3-30] messageTray: Re-enable unredirection when banner is destroyed



commit 51b04134db2cce3a5a8b9074d8705e4284f5088d
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Nov 22 17:18:34 2018 +0000

    messageTray: Re-enable unredirection when banner is destroyed
    
    The intention of commit 4dc20398 was to disable unredirection while
    banners are shown, but the ::done-displaying signal currently used for
    re-enabling unredirection is only emitted under some circumstances, so
    it's possible that unredirection is left disabled indefinitely, whoops.
    
    Fix this by tying disabling unredirection explicitly to the lifetime
    of the banner actor.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/799
    
    
    (cherry picked from commit e5ce3d541e48dd75c9218312cd74ecb760ab857a)

 js/ui/messageTray.js | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 20469afb3..99f0cf9e7 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -1309,10 +1309,8 @@ var MessageTray = new Lang.Class({
         }
 
         this._banner = this._notification.createBanner();
-        this._bannerClickedId = this._banner.connect('done-displaying', () => {
-            Meta.enable_unredirect_for_display(global.display);
-            this._escapeTray();
-        });
+        this._bannerClickedId = this._banner.connect('done-displaying',
+                                                     this._escapeTray.bind(this));
         this._bannerUnfocusedId = this._banner.connect('unfocused', () => {
             this._updateState();
         });
@@ -1462,6 +1460,7 @@ var MessageTray = new Lang.Class({
 
         this._pointerInNotification = false;
         this._notificationRemoved = false;
+        Meta.enable_unredirect_for_display(global.display);
 
         this._banner.actor.destroy();
         this._banner = null;


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