[gnome-shell/wip/fmuellner/redirect-banners: 9/9] messageTray: Re-enable unredirection when banner is destroyed
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/fmuellner/redirect-banners: 9/9] messageTray: Re-enable unredirection when banner is destroyed
- Date: Wed, 5 Dec 2018 18:11:56 +0000 (UTC)
commit e5ce3d541e48dd75c9218312cd74ecb760ab857a
Author: Florian Müllner <fmuellner gnome org>
Date: Thu Nov 22 18:18:34 2018 +0100
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
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 f8e2f0b9f..eebc93fdf 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -1298,10 +1298,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();
});
@@ -1451,6 +1449,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]