summaryrefslogtreecommitdiff
path: root/daemon/gdm-session-worker.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-worker.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-worker.c')
-rw-r--r--daemon/gdm-session-worker.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index a1f6ab8c..4c6ac2e6 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -166,6 +166,7 @@ struct GdmSessionWorkerPrivate
guint32 is_program_session : 1;
guint32 is_reauth_session : 1;
guint32 display_is_local : 1;
+ guint32 display_is_initial : 1;
guint state_change_idle_id;
GdmSessionDisplayMode display_mode;
@@ -2759,7 +2760,8 @@ gdm_session_worker_handle_setup (GdmDBusWorker *object,
const char *console,
const char *seat_id,
const char *hostname,
- gboolean display_is_local)
+ gboolean display_is_local,
+ gboolean display_is_initial)
{
GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
validate_and_queue_state_change (worker, invocation, GDM_SESSION_WORKER_STATE_SETUP_COMPLETE);
@@ -2771,6 +2773,7 @@ gdm_session_worker_handle_setup (GdmDBusWorker *object,
worker->priv->display_seat_id = g_strdup (seat_id);
worker->priv->hostname = g_strdup (hostname);
worker->priv->display_is_local = display_is_local;
+ worker->priv->display_is_initial = display_is_initial;
worker->priv->username = NULL;
g_signal_connect_swapped (worker->priv->user_settings,
@@ -2795,7 +2798,8 @@ gdm_session_worker_handle_setup_for_user (GdmDBusWorker *object,
const char *console,
const char *seat_id,
const char *hostname,
- gboolean display_is_local)
+ gboolean display_is_local,
+ gboolean display_is_initial)
{
GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
@@ -2809,6 +2813,7 @@ gdm_session_worker_handle_setup_for_user (GdmDBusWorker *object,
worker->priv->display_seat_id = g_strdup (seat_id);
worker->priv->hostname = g_strdup (hostname);
worker->priv->display_is_local = display_is_local;
+ worker->priv->display_is_initial = display_is_initial;
worker->priv->username = g_strdup (username);
g_signal_connect_swapped (worker->priv->user_settings,
@@ -2848,6 +2853,7 @@ gdm_session_worker_handle_setup_for_program (GdmDBusWorker *object,
const char *seat_id,
const char *hostname,
gboolean display_is_local,
+ gboolean display_is_initial,
const char *log_file)
{
GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
@@ -2860,6 +2866,7 @@ gdm_session_worker_handle_setup_for_program (GdmDBusWorker *object,
worker->priv->display_seat_id = g_strdup (seat_id);
worker->priv->hostname = g_strdup (hostname);
worker->priv->display_is_local = display_is_local;
+ worker->priv->display_is_initial = display_is_initial;
worker->priv->username = g_strdup (username);
worker->priv->log_file = g_strdup (log_file);
worker->priv->is_program_session = TRUE;