summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--daemon/gdm-display.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
index d1d24956..687e7da4 100644
--- a/daemon/gdm-display.c
+++ b/daemon/gdm-display.c
@@ -510,7 +510,7 @@ gdm_display_real_prepare (GdmDisplay *self)
return TRUE;
}
-static void
+static gboolean
look_for_existing_users_sync (GdmDisplay *self)
{
GdmDisplayPrivate *priv;
@@ -528,7 +528,7 @@ look_for_existing_users_sync (GdmDisplay *self)
&error);
if (!priv->accountsservice_proxy) {
- g_warning ("Failed to contact accountsservice: %s", error->message);
+ g_critical ("Failed to contact accountsservice: %s", error->message);
goto out;
}
@@ -541,7 +541,7 @@ look_for_existing_users_sync (GdmDisplay *self)
&error);
if (!call_result) {
- g_warning ("Failed to list cached users: %s", error->message);
+ g_critical ("Failed to list cached users: %s", error->message);
goto out;
}
@@ -551,6 +551,7 @@ look_for_existing_users_sync (GdmDisplay *self)
g_variant_unref (call_result);
out:
g_clear_error (&error);
+ return priv->accountsservice_proxy != NULL && call_result != NULL;
}
gboolean
@@ -568,7 +569,9 @@ gdm_display_prepare (GdmDisplay *self)
/* FIXME: we should probably do this in a more global place,
* asynchronously
*/
- look_for_existing_users_sync (self);
+ if (!look_for_existing_users_sync (self)) {
+ exit (EXIT_FAILURE);
+ }
priv->doing_initial_setup = wants_initial_setup (self);