Seb, so from the stacktrace the problem seems to be that have_notify_shell is being called after managers is destroyed.
the changes 1. moving unwatch dbus to before xsettings_manager_destroy(): seems there is small chance of a race here if the shell disappears while manager is being destroyed. 2. if (manager->priv->managers == NULL), possibly not needed if 1. was the cause of the crash, but added it to be safe, since there is nothing to do but crash in this case. 3. change dbus name, unity spoofs org.gnome.shell, so actually notify_have_shell would have be getting called twice on startup/shutdown of unity. Not upstreamable 4. Only call notify_have_shell if the have_[shell/unity] values have changed. Upstream already do this however its a bit simpler in their case since they only have a single have_shell. The fact that upstream even do this, makes me think its possible for the callbacks to be fired multiple times or when not required. Not upstreamable -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1232419 Title: [xsettings]: gnome-settings-daemon crashed with SIGSEGV in notify_have_shell() To manage notifications about this bug go to: https://bugs.launchpad.net/gnome-settings-daemon/+bug/1232419/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
