summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorGary Ching-Pang Lin <chingpang@gmail.com>2011-06-03 16:33:42 +0800
committerRay Strode <rstrode@redhat.com>2011-06-13 20:37:03 -0400
commitba5b6b1daf9f995cd0b56cebef602fe7b21b678e (patch)
treea5f82a3a12d35642f42c9ca427d3d61426c9289e /daemon
parent1a37cd929bcc2c387c23cee1cdcfffd6d9863116 (diff)
downloadgdm-ba5b6b1daf9f995cd0b56cebef602fe7b21b678e.tar.gz
daemon: stop sending back the saved session name after the user setup is done
The greeter needs not to know the saved session after the user settings are loaded successfully. Sending back the saved session name could potentially form an infinite loop between the daemon and the greeter. https://bugzilla.gnome.org/show_bug.cgi?id=569039
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gdm-session-worker.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index a7e2bd96..447e184e 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -2018,6 +2018,18 @@ do_setup (GdmSessionWorker *worker)
return;
}
+ /* These singal handlers should be disconnected after the loading,
+ * so that gdm_session_settings_set_* APIs don't cause the emitting
+ * of Saved*NameRead D-Bus signals any more.
+ */
+ g_signal_handlers_disconnect_by_func (worker->priv->user_settings,
+ G_CALLBACK (on_saved_session_name_read),
+ worker);
+
+ g_signal_handlers_disconnect_by_func (worker->priv->user_settings,
+ G_CALLBACK (on_saved_language_name_read),
+ worker);
+
send_dbus_void_method (worker->priv->connection, "SetupComplete");
}