aboutsummaryrefslogtreecommitdiff
path: root/src/users-service-dbus.c
diff options
context:
space:
mode:
authorDavid Barth <david.barth@canonical.com>2010-02-19 13:28:45 +0100
committerDavid Barth <david.barth@canonical.com>2010-02-19 13:28:45 +0100
commitbb88b769afb2a7b667919dd52de1d51ab60aaacf (patch)
tree9357299ede786667f2d65dfbae5dd0ccbc2d2f68 /src/users-service-dbus.c
parente07cdb88407dc186d7cdb236e410b6ae9c4fc3f8 (diff)
downloadayatana-indicator-session-bb88b769afb2a7b667919dd52de1d51ab60aaacf.tar.gz
ayatana-indicator-session-bb88b769afb2a7b667919dd52de1d51ab60aaacf.tar.bz2
ayatana-indicator-session-bb88b769afb2a7b667919dd52de1d51ab60aaacf.zip
prevent crash in g_error when gdm is not running
Diffstat (limited to 'src/users-service-dbus.c')
-rw-r--r--src/users-service-dbus.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/users-service-dbus.c b/src/users-service-dbus.c
index d377089..0e5c922 100644
--- a/src/users-service-dbus.c
+++ b/src/users-service-dbus.c
@@ -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 @@ users_service_dbus_init (UsersServiceDbus *self)
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 @@ create_gdm_proxy (UsersServiceDbus *self)
{
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 @@ users_loaded (DBusGProxy *proxy,
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 @@ gboolean
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;