summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--daemon/gdm-manager.c9
-rw-r--r--daemon/gdm-session-worker.c2
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);