summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2012-10-22 10:02:10 +0200
committerBastien Nocera <hadess@hadess.net>2012-10-22 10:04:06 +0200
commit35598d856cb5b61ea974ece2af80f44756ae21db (patch)
tree3b0ad7168aabb7c46849481310c3ee7f08ee1281
parente0f87ee20103105c70e9b6836ca5eefde0ae8209 (diff)
downloadgnome-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.c24
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,