messageTray: Re-enable unredirection when banner is destroyed
The intention of commit4dc20398
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 commite5ce3d541e
)
This commit is contained in:
parent
8111286463
commit
5e7a7e31a1
@ -1307,10 +1307,8 @@ var MessageTray = new Lang.Class({
|
|||||||
}
|
}
|
||||||
|
|
||||||
this._banner = this._notification.createBanner();
|
this._banner = this._notification.createBanner();
|
||||||
this._bannerClickedId = this._banner.connect('done-displaying', () => {
|
this._bannerClickedId = this._banner.connect('done-displaying',
|
||||||
Meta.enable_unredirect_for_display(global.display);
|
this._escapeTray.bind(this));
|
||||||
this._escapeTray();
|
|
||||||
});
|
|
||||||
this._bannerUnfocusedId = this._banner.connect('unfocused', () => {
|
this._bannerUnfocusedId = this._banner.connect('unfocused', () => {
|
||||||
this._updateState();
|
this._updateState();
|
||||||
});
|
});
|
||||||
@ -1460,6 +1458,7 @@ var MessageTray = new Lang.Class({
|
|||||||
|
|
||||||
this._pointerInNotification = false;
|
this._pointerInNotification = false;
|
||||||
this._notificationRemoved = false;
|
this._notificationRemoved = false;
|
||||||
|
Meta.enable_unredirect_for_display(global.display);
|
||||||
|
|
||||||
this._banner.actor.destroy();
|
this._banner.actor.destroy();
|
||||||
this._banner = null;
|
this._banner = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user