calendar: do not call destroy() recursively
We have a callback that will call close() when the notification is destroyed, and a callback that will call destroy() on the notification when the message is closed. Currently, if the notification is destroyed we'll execute our callback that will call again destroy() on the notification. That's bad practice in general, and it also has the side effect of resetting the destroy reason. This commit avoids re-destroying the notification by dropping the notification reference on destroy. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/258
This commit is contained in:
parent
a98ed08a54
commit
5fb8d4f730
@ -773,9 +773,11 @@ var NotificationMessage = new Lang.Class({
|
||||
|
||||
this.connect('close', () => {
|
||||
this._closed = true;
|
||||
this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED);
|
||||
if (this.notification)
|
||||
this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED);
|
||||
});
|
||||
this._destroyId = notification.connect('destroy', () => {
|
||||
this.notification = null;
|
||||
if (!this._closed)
|
||||
this.close();
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user