[gnome-shell/wip/cosimoc/notification-refactor: 11/11] calendar: do not call destroy() recursively
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/cosimoc/notification-refactor: 11/11] calendar: do not call destroy() recursively
- Date: Sat, 10 Nov 2018 10:57:15 +0000 (UTC)
commit 5fb8d4f730a176cb55e8e6c11072595972be6485
Author: Cosimo Cecchi <cosimo endlessm com>
Date: Wed Oct 10 19:08:38 2018 -0700
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
js/ui/calendar.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/calendar.js b/js/ui/calendar.js
index 241a91db4..432986391 100644
--- a/js/ui/calendar.js
+++ b/js/ui/calendar.js
@@ -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();
});
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]