summaryrefslogtreecommitdiff
path: root/daemon/gdm-simple-slave.c
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/gdm-simple-slave.c')
-rw-r--r--daemon/gdm-simple-slave.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index 8b161bbf..e15cb9ca 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -865,8 +865,10 @@ static void
start_greeter (GdmSimpleSlave *slave)
{
gboolean display_is_local;
+ gboolean display_is_dynamic;
char *display_id;
char *display_name;
+ char *seat_id;
char *display_device;
char *display_hostname;
char *auth_file;
@@ -876,8 +878,10 @@ start_greeter (GdmSimpleSlave *slave)
g_debug ("GdmSimpleSlave: Running greeter");
display_is_local = FALSE;
+ display_is_dynamic = FALSE;
display_id = NULL;
display_name = NULL;
+ seat_id = NULL;
auth_file = NULL;
display_device = NULL;
display_hostname = NULL;
@@ -885,7 +889,9 @@ start_greeter (GdmSimpleSlave *slave)
g_object_get (slave,
"display-id", &display_id,
"display-is-local", &display_is_local,
+ "display-is-dynamic", &display_is_dynamic,
"display-name", &display_name,
+ "display-seat-id", &seat_id,
"display-hostname", &display_hostname,
"display-x11-authority-file", &auth_file,
NULL);
@@ -967,9 +973,11 @@ start_greeter (GdmSimpleSlave *slave)
g_debug ("GdmSimpleSlave: Creating greeter on %s %s %s", display_name, display_device, display_hostname);
slave->priv->greeter = gdm_greeter_session_new (display_name,
+ seat_id,
display_device,
display_hostname,
- display_is_local);
+ display_is_local,
+ display_is_dynamic);
g_signal_connect (slave->priv->greeter,
"started",
G_CALLBACK (on_greeter_session_start),
@@ -994,6 +1002,7 @@ start_greeter (GdmSimpleSlave *slave)
g_free (display_id);
g_free (display_name);
+ g_free (seat_id);
g_free (display_device);
g_free (display_hostname);
g_free (auth_file);
@@ -1067,14 +1076,12 @@ on_server_died (GdmServer *server,
static gboolean
gdm_simple_slave_run (GdmSimpleSlave *slave)
{
- char *display_name;
- char *auth_file;
+ char *display_id;
gboolean display_is_local;
g_object_get (slave,
+ "display-id", &display_id,
"display-is-local", &display_is_local,
- "display-name", &display_name,
- "display-x11-authority-file", &auth_file,
NULL);
/* if this is local display start a server if one doesn't
@@ -1083,7 +1090,7 @@ gdm_simple_slave_run (GdmSimpleSlave *slave)
gboolean res;
gboolean disable_tcp;
- slave->priv->server = gdm_server_new (display_name, auth_file);
+ slave->priv->server = gdm_server_new (display_id);
disable_tcp = TRUE;
if (gdm_settings_client_get_boolean (GDM_KEY_DISALLOW_TCP,
@@ -1124,8 +1131,7 @@ gdm_simple_slave_run (GdmSimpleSlave *slave)
g_timeout_add (500, (GSourceFunc)idle_connect_to_display, slave);
}
- g_free (display_name);
- g_free (auth_file);
+ g_free (display_id);
return TRUE;
}