diff options
author | Ray Strode <rstrode@redhat.com> | 2015-02-16 20:22:07 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2015-02-18 17:34:15 -0500 |
commit | 7a4e34049c79e907d1a027390c5d3a8dcdc11977 (patch) | |
tree | cca0fb4f468dea0ae4d7d13ca1288c67f12809e3 /daemon/gdm-session.c | |
parent | b9ecaa20c26c977736688f8271f3fa44a1f053bf (diff) | |
download | gdm-7a4e34049c79e907d1a027390c5d3a8dcdc11977.tar.gz |
session: forward is-initial from display to worker
The worker needs to know if a display should be forced on
vt1 or not when deciding which vt to allocate for the logind
session.
https://bugzilla.gnome.org/show_bug.cgi?id=744764
Diffstat (limited to 'daemon/gdm-session.c')
-rw-r--r-- | daemon/gdm-session.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c index 725f6f8a..477ccb23 100644 --- a/daemon/gdm-session.c +++ b/daemon/gdm-session.c @@ -128,6 +128,7 @@ struct _GdmSessionPrivate GHashTable *environment; guint32 is_program_session : 1; + guint32 display_is_initial : 1; }; enum { @@ -137,6 +138,7 @@ enum { PROP_DISPLAY_NAME, PROP_DISPLAY_HOSTNAME, PROP_DISPLAY_IS_LOCAL, + PROP_DISPLAY_IS_INITIAL, PROP_DISPLAY_DEVICE, PROP_DISPLAY_SEAT_ID, PROP_DISPLAY_X11_AUTHORITY_FILE, @@ -1987,6 +1989,7 @@ send_setup (GdmSession *self, display_seat_id, display_hostname, self->priv->display_is_local, + self->priv->display_is_initial, NULL, (GAsyncReadyCallback) on_setup_complete_cb, conversation); @@ -2052,6 +2055,7 @@ send_setup_for_user (GdmSession *self, display_seat_id, display_hostname, self->priv->display_is_local, + self->priv->display_is_initial, NULL, (GAsyncReadyCallback) on_setup_complete_cb, conversation); @@ -2112,6 +2116,7 @@ send_setup_for_program (GdmSession *self, display_seat_id, display_hostname, self->priv->display_is_local, + self->priv->display_is_initial, log_file, NULL, (GAsyncReadyCallback) on_setup_complete_cb, @@ -3035,6 +3040,13 @@ set_display_is_local (GdmSession *self, } static void +set_display_is_initial (GdmSession *self, + gboolean is_initial) +{ + self->priv->display_is_initial = is_initial; +} + +static void set_verification_mode (GdmSession *self, GdmSessionVerificationMode verification_mode) { @@ -3088,6 +3100,9 @@ gdm_session_set_property (GObject *object, case PROP_DISPLAY_IS_LOCAL: set_display_is_local (self, g_value_get_boolean (value)); break; + case PROP_DISPLAY_IS_INITIAL: + set_display_is_initial (self, g_value_get_boolean (value)); + break; case PROP_VERIFICATION_MODE: set_verification_mode (self, g_value_get_enum (value)); break; @@ -3135,6 +3150,9 @@ gdm_session_get_property (GObject *object, case PROP_DISPLAY_IS_LOCAL: g_value_set_boolean (value, self->priv->display_is_local); break; + case PROP_DISPLAY_IS_INITIAL: + g_value_set_boolean (value, self->priv->display_is_initial); + break; case PROP_VERIFICATION_MODE: g_value_set_enum (value, self->priv->verification_mode); break; @@ -3516,6 +3534,13 @@ gdm_session_class_init (GdmSessionClass *session_class) TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (object_class, + PROP_DISPLAY_IS_INITIAL, + g_param_spec_boolean ("display-is-initial", + "display is initial", + "display is initial", + FALSE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + g_object_class_install_property (object_class, PROP_DISPLAY_X11_AUTHORITY_FILE, g_param_spec_string ("display-x11-authority-file", "display x11 authority file", |