From b773a74dec86ebf40941aa7ac1892c1329704ba3 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 28 Oct 2009 11:13:10 -0400 Subject: [PATCH] Prevent start session signal handler from getting called multiple times It was causing a double free. --- gui/simple-greeter/gdm-greeter-login-window.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c index 8af5452..585d7bc 100644 --- a/gui/simple-greeter/gdm-greeter-login-window.c +++ b/gui/simple-greeter/gdm-greeter-login-window.c @@ -908,8 +908,17 @@ on_ready_to_start_session (GdmGreeterLoginWindow *login_window, GParamSpec *param_spec, char *service_name) { + if (!login_window->priv->is_interactive) { + return; + } + gdm_greeter_login_window_start_session_when_ready (login_window, service_name); g_free (service_name); + + if (login_window->priv->start_session_handler_id > 0) { + g_signal_handler_disconnect (login_window, login_window->priv->start_session_handler_id); + login_window->priv->start_session_handler_id = 0; + } } static void -- 1.6.5.1