After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 722547 - Notification: don't expand the content on a destroyed notification
Notification: don't expand the content on a destroyed notification
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: message-tray
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2014-01-19 14:55 UTC by Giovanni Campagna
Modified: 2014-01-19 15:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Notification: don't expand the content on a destroyed notification (1.25 KB, patch)
2014-01-19 14:55 UTC, Giovanni Campagna
committed Details | Review

Description Giovanni Campagna 2014-01-19 14:55:18 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
Comment 1 Giovanni Campagna 2014-01-19 14:55:22 UTC
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.
Comment 2 Jasper St. Pierre (not reading bugmail) 2014-01-19 14:56:14 UTC
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.
Comment 3 Giovanni Campagna 2014-01-19 15:00:16 UTC
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