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

Reply via email to