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
This commit is contained in:
parent
925a25da17
commit
e5ce3d541e
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user