Index: gnome-settings-daemon-3.2.0/plugins/xrandr/gsd-xrandr-manager.c =================================================================== --- gnome-settings-daemon-3.2.0.orig/plugins/xrandr/gsd-xrandr-manager.c 2011-09-28 14:35:35.004899511 +0200 +++ gnome-settings-daemon-3.2.0/plugins/xrandr/gsd-xrandr-manager.c 2011-09-28 14:44:45.308889784 +0200 @@ -2071,8 +2071,17 @@ if (connection == NULL) { g_warning ("Could not get session bus: %s", error->message); g_error_free (error); + g_object_unref (manager); return; } + + if (!manager->priv->introspection_data) { + /* We have already been stopped */ + g_object_unref (connection); + g_object_unref (manager); + return; + } + manager->priv->connection = connection; g_dbus_connection_register_object (connection, @@ -2082,6 +2091,7 @@ manager, NULL, NULL); + g_object_unref (manager); } static void @@ -2090,6 +2100,7 @@ manager->priv->introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL); g_assert (manager->priv->introspection_data != NULL); + g_object_ref (manager); g_bus_get (G_BUS_TYPE_SESSION, NULL, (GAsyncReadyCallback) on_bus_gotten,