diff options
Diffstat (limited to 'daemon/gdm-x-session.c')
-rw-r--r-- | daemon/gdm-x-session.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/daemon/gdm-x-session.c b/daemon/gdm-x-session.c index 412999cf..3b2fcef4 100644 --- a/daemon/gdm-x-session.c +++ b/daemon/gdm-x-session.c @@ -810,21 +810,6 @@ on_sigterm (State *state) return G_SOURCE_CONTINUE; } -static gboolean -on_registration_delay_complete (State *state) -{ - gboolean ret; - - ret = register_display (state, state->cancellable); - - if (!ret) { - g_printerr ("Unable to register display with display manager\n"); - g_main_loop_quit (state->main_loop); - } - - return G_SOURCE_REMOVE; -} - int main (int argc, char **argv) @@ -911,6 +896,14 @@ main (int argc, goto out; } + ret = register_display (state, state->cancellable); + + if (!ret) { + g_printerr ("Unable to register display with display manager\n"); + exit_status = EX_SOFTWARE; + goto out; + } + ret = spawn_session (state, run_script, state->cancellable); if (!ret) { @@ -919,8 +912,6 @@ main (int argc, goto out; } - g_timeout_add_seconds (2, (GSourceFunc) on_registration_delay_complete, state); - g_main_loop_run (state->main_loop); /* Only use exit status of session if we're here because it exit */ |