GNOME Bugzilla – Bug 671087
window: Remove prefs listener in _unmanage instead of _finalize
Last modified: 2012-03-01 09:26:04 UTC
After _unmanage the object is semantically dead even if technically it's not, so remove the prefs listener here to prevent it being called for a dead object. In particular this fixes a crash when starting up gnome-shell with at least one gimp utility window opened which causes mutter to create a MetaWindow for it only to immediately get an UnmapNotify afterwards which causes mutter to unmanage the MetaWindow. Afterwards prefs_changed_callback is called for this dead MetaWindow and tries to dereference the window->monitor pointer which is already NULL.
Created attachment 208722 [details] [review] window: Remove prefs listener in _unmanage instead of _finalize
Review of attachment 208722 [details] [review]: Looks fine to, though don't understand why we'd get a callback for a change to META_PREF_WORKSPACES_ONLY_ON_PRIMARY on startup - that seems busted to me.
Attachment 208722 [details] pushed as 860c2a6 - window: Remove prefs listener in _unmanage instead of _finalize (In reply to comment #2) > Looks fine to, though don't understand why we'd get a callback for a change to > META_PREF_WORKSPACES_ONLY_ON_PRIMARY on startup - that seems busted to me. It seems odd indeed but I didn't investigate on that front.