aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog8
-rw-r--r--debian/patches/fix-session-menu-without-gdm.patch46
2 files changed, 54 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index ff381c0..4c608d4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+indicator-session (0.2.3-0ubuntu2) lucid; urgency=low
+
+ * debian/patches/fix-session-menu-without-gdm.patch
+ - Don't fail with a g_error when we fail to get a list of user sessions
+ from gdm (LP: #506683)
+
+ -- Ken VanDine <ken.vandine@canonical.com> Fri, 19 Feb 2010 09:43:14 -0500
+
indicator-session (0.2.3-0ubuntu1) lucid; urgency=low
* Upstream release 0.2.3
diff --git a/debian/patches/fix-session-menu-without-gdm.patch b/debian/patches/fix-session-menu-without-gdm.patch
new file mode 100644
index 0000000..7b4b197
--- /dev/null
+++ b/debian/patches/fix-session-menu-without-gdm.patch
@@ -0,0 +1,46 @@
+=== modified file 'src/users-service-dbus.c'
+--- src/users-service-dbus.c 2010-02-09 23:24:23 +0000
++++ src/users-service-dbus.c 2010-02-19 12:22:47 +0000
+@@ -1,3 +1,4 @@
++/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */
+ /*
+ * Copyright 2009 Canonical Ltd.
+ *
+@@ -183,7 +184,8 @@
+ create_ck_proxy (self);
+ create_seat_proxy (self);
+
+- users_loaded (priv->gdm_proxy, self);
++ if (priv->gdm_proxy)
++ users_loaded (priv->gdm_proxy, self);
+ }
+
+ static void
+@@ -214,7 +216,7 @@
+ {
+ if (error != NULL)
+ {
+- g_error ("Unable to get DisplayManager proxy on system bus: %s", error->message);
++ g_warning ("Unable to get DisplayManager proxy on system bus: %s", error->message);
+ g_error_free (error);
+ }
+
+@@ -679,6 +681,8 @@
+ GError *error = NULL;
+ gint count;
+
++ g_return_if_fail (proxy != NULL);
++
+ service = (UsersServiceDbus *)user_data;
+ priv = USERS_SERVICE_DBUS_GET_PRIVATE (service);
+
+@@ -859,6 +863,8 @@
+ start_new_user_session (UsersServiceDbus *self,
+ UserData *user)
+ {
++ g_return_val_if_fail (IS_USERS_SERVICE_DBUS (self), FALSE);
++
+ UsersServiceDbusPrivate *priv = USERS_SERVICE_DBUS_GET_PRIVATE (self);
+ GError *error = NULL;
+ char *ssid;
+