diff options
Diffstat (limited to 'daemon/gdm-simple-slave.c')
-rw-r--r-- | daemon/gdm-simple-slave.c | 22 |
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; } |