GNOME Bugzilla – Bug 722547
Notification: don't expand the content on a destroyed notification
Last modified: 2014-01-19 15:00:25 UTC
Fixes the trace: (gnome-shell:9725): Gjs-WARNING **: JS ERROR: TypeError: meta is null _patchContainerClass/containerClass.prototype.child_set@resource:///org/gnome/shell/ui/environment.js:30 Notification<._updateLastColumnSettings@resource:///org/gnome/shell/ui/messageTray.js:827 wrapper@resource:///org/gnome/gjs/modules/lang.js:169 Notification<._createScrollArea@resource:///org/gnome/shell/ui/messageTray.js:730 wrapper@resource:///org/gnome/gjs/modules/lang.js:169 Notification<.addActor@resource:///org/gnome/shell/ui/messageTray.js:745 wrapper@resource:///org/gnome/gjs/modules/lang.js:169 Notification<.addBody@resource:///org/gnome/shell/ui/messageTray.js:763 wrapper@resource:///org/gnome/gjs/modules/lang.js:169 Notification<._addBannerBody@resource:///org/gnome/shell/ui/messageTray.js:770 wrapper@resource:///org/gnome/gjs/modules/lang.js:169 Notification<._bannerBoxAllocate/<@resource:///org/gnome/shell/ui/messageTray.js:1042
Created attachment 266655 [details] [review] Notification: don't expand the content on a destroyed notification If the notification is destroyed between an allocate and the redraw, the meta_later is invoked on a destroyed object, and fails because the clutter calls are invalid at that point.
Review of attachment 266655 [details] [review]: Disconnecting the later_add with later_remove would be "cleaner" for me, but eh, maybe it doesn't matter.
Yeah, I thought of it, but using later_remove() means tracking the later id, which increases complexity for a corner case. Attachment 266655 [details] pushed as 5413010 - Notification: don't expand the content on a destroyed notification