diff options
-rw-r--r-- | daemon/gdm-manager.c | 9 | ||||
-rw-r--r-- | daemon/gdm-session-worker.c | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index c5e46b6c..2fc2ae55 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c @@ -430,7 +430,14 @@ activate_session_id_for_ck (GdmManager *manager, g_debug ("GdmManager: ConsoleKit %s raised:\n %s\n\n", g_dbus_error_get_remote_error (error), error->message); g_error_free (error); - return FALSE; + + /* It is very likely that the "error" just reported is + * that the session is already active. Unfortunately, + * ConsoleKit doesn't use proper error codes and it + * translates the error message, so we have no real way + * to detect this case... + */ + return TRUE; } g_variant_unref (reply); diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c index 39f14cf0..a0cbfb51 100644 --- a/daemon/gdm-session-worker.c +++ b/daemon/gdm-session-worker.c @@ -274,7 +274,7 @@ open_ck_session (GdmSessionWorker *worker) g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(sv)")); g_variant_builder_add_parsed (&builder, "('unix-user', <%i>)", uid); - g_variant_builder_add_parsed (&builder, "('display-device', <%s>)", display_device); + g_variant_builder_add_parsed (&builder, "('x11-display-device', <%s>)", display_device); g_variant_builder_add_parsed (&builder, "('x11-display', <%s>)", display_name); g_variant_builder_add_parsed (&builder, "('remote-host-name', <%s>)", display_hostname); g_variant_builder_add_parsed (&builder, "('is-local', <%b>)", worker->priv->display_is_local); |