45 lines
2.1 KiB
Diff
45 lines
2.1 KiB
Diff
From 5de806c640d812041d0174307c628e0385c81561 Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Mon, 2 May 2011 14:23:53 -0400
|
|
Subject: [PATCH] updates: deal with absence of gnome-session gracefully
|
|
|
|
This was leading to crashes when g-s-d got started under xfce.
|
|
---
|
|
plugins/updates/gsd-updates-refresh.c | 13 +++++++++----
|
|
1 files changed, 9 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/plugins/updates/gsd-updates-refresh.c b/plugins/updates/gsd-updates-refresh.c
|
|
index 15e6917..60d5f80 100644
|
|
--- a/plugins/updates/gsd-updates-refresh.c
|
|
+++ b/plugins/updates/gsd-updates-refresh.c
|
|
@@ -560,7 +560,7 @@ gsd_updates_refresh_init (GsdUpdatesRefresh *refresh)
|
|
/* use gnome-session for the idle detection */
|
|
refresh->priv->proxy_session =
|
|
g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
|
- G_DBUS_PROXY_FLAGS_NONE,
|
|
+ G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
|
|
NULL, /* GDBusInterfaceInfo */
|
|
"org.gnome.SessionManager",
|
|
"/org/gnome/SessionManager/Presence",
|
|
@@ -578,9 +578,14 @@ gsd_updates_refresh_init (GsdUpdatesRefresh *refresh)
|
|
refresh);
|
|
status = g_dbus_proxy_get_cached_property (refresh->priv->proxy_session,
|
|
"status");
|
|
- g_variant_get (status, "u", &status_code);
|
|
- refresh->priv->session_idle = (status_code == PRESENCE_STATUS_IDLE);
|
|
- g_variant_unref (status);
|
|
+ if (status) {
|
|
+ g_variant_get (status, "u", &status_code);
|
|
+ refresh->priv->session_idle = (status_code == PRESENCE_STATUS_IDLE);
|
|
+ g_variant_unref (status);
|
|
+ }
|
|
+ else {
|
|
+ refresh->priv->session_idle = FALSE;
|
|
+ }
|
|
}
|
|
|
|
/* we check this in case we miss one of the async signals */
|
|
--
|
|
1.7.5
|
|
|