MessageTray: disconnect signal to notification early
Similar to the previous patch, this adds robustness and prevents more stacktraces and confusion in the state machine. https://bugzilla.gnome.org/show_bug.cgi?id=692693
This commit is contained in:
parent
cc60afa31a
commit
4545719e18
@ -2384,11 +2384,18 @@ const MessageTray = new Lang.Class({
|
|||||||
this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
|
this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
|
||||||
this._idleMonitorBecameActiveId = 0;
|
this._idleMonitorBecameActiveId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._notificationExpandedId) {
|
if (this._notificationExpandedId) {
|
||||||
this._notification.disconnect(this._notificationExpandedId);
|
this._notification.disconnect(this._notificationExpandedId);
|
||||||
this._notificationExpandedId = 0;
|
this._notificationExpandedId = 0;
|
||||||
}
|
}
|
||||||
|
if (this._notificationClickedId) {
|
||||||
|
this._notification.disconnect(this._notificationClickedId);
|
||||||
|
this._notificationClickedId = 0;
|
||||||
|
}
|
||||||
|
if (this._notificationUnfocusedId) {
|
||||||
|
this._notification.disconnect(this._notificationUnfocusedId);
|
||||||
|
this._notificationUnfocusedId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (this._notificationRemoved) {
|
if (this._notificationRemoved) {
|
||||||
Tweener.removeTweens(this._notificationWidget);
|
Tweener.removeTweens(this._notificationWidget);
|
||||||
@ -2411,10 +2418,7 @@ const MessageTray = new Lang.Class({
|
|||||||
|
|
||||||
_hideNotificationCompleted: function() {
|
_hideNotificationCompleted: function() {
|
||||||
this._notification.collapseCompleted();
|
this._notification.collapseCompleted();
|
||||||
this._notification.disconnect(this._notificationClickedId);
|
|
||||||
this._notificationClickedId = 0;
|
|
||||||
this._notification.disconnect(this._notificationUnfocusedId);
|
|
||||||
this._notificationUnfocusedId = 0;
|
|
||||||
let notification = this._notification;
|
let notification = this._notification;
|
||||||
this._notification = null;
|
this._notification = null;
|
||||||
if (notification.isTransient)
|
if (notification.isTransient)
|
||||||
|
Loading…
Reference in New Issue
Block a user