diff options
author | Matthias Clasen <mclasen@redhat.com> | 2012-10-22 10:02:10 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2012-10-22 10:04:06 +0200 |
commit | 35598d856cb5b61ea974ece2af80f44756ae21db (patch) | |
tree | 3b0ad7168aabb7c46849481310c3ee7f08ee1281 | |
parent | e0f87ee20103105c70e9b6836ca5eefde0ae8209 (diff) | |
download | gnome-settings-daemon-35598d856cb5b61ea974ece2af80f44756ae21db.tar.gz |
background: Use new SessionManager singleton
https://bugzilla.gnome.org/show_bug.cgi?id=686556
-rw-r--r-- | plugins/background/gsd-background-manager.c | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/plugins/background/gsd-background-manager.c b/plugins/background/gsd-background-manager.c index 10ed1284..37324e7c 100644 --- a/plugins/background/gsd-background-manager.c +++ b/plugins/background/gsd-background-manager.c @@ -42,6 +42,7 @@ #include <libgnome-desktop/gnome-bg.h> #include <X11/Xatom.h> +#include "gnome-settings-session.h" #include "gnome-settings-profile.h" #include "gsd-background-manager.h" @@ -333,25 +334,8 @@ on_session_manager_signal (GDBusProxy *proxy, static void draw_background_after_session_loads (GsdBackgroundManager *manager) { - GError *error = NULL; - GDBusProxyFlags flags; - - flags = G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | - G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START; - manager->priv->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, - flags, - NULL, /* GDBusInterfaceInfo */ - "org.gnome.SessionManager", - "/org/gnome/SessionManager", - "org.gnome.SessionManager", - NULL, /* GCancellable */ - &error); - if (manager->priv->proxy == NULL) { - g_warning ("Could not listen to session manager: %s", - error->message); - g_error_free (error); - return; - } + manager->priv->proxy = + gnome_settings_session_get_session_proxy (); manager->priv->proxy_signal_id = g_signal_connect (manager->priv->proxy, "g-signal", @@ -457,7 +441,7 @@ gsd_background_manager_stop (GsdBackgroundManager *manager) if (manager->priv->proxy) { disconnect_session_manager_listener (manager); - g_object_unref (manager->priv->proxy); + g_clear_object (&manager->priv->proxy); } g_signal_handlers_disconnect_by_func (manager->priv->settings, |