summaryrefslogtreecommitdiff
path: root/daemon/gdm-session.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2015-02-16 20:22:07 -0500
committerRay Strode <rstrode@redhat.com>2015-02-18 17:34:15 -0500
commit7a4e34049c79e907d1a027390c5d3a8dcdc11977 (patch)
treecca0fb4f468dea0ae4d7d13ca1288c67f12809e3 /daemon/gdm-session.c
parentb9ecaa20c26c977736688f8271f3fa44a1f053bf (diff)
downloadgdm-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.c25
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",