diff options
-rw-r--r-- | daemon/gdm-display.c | 11 |
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); |