diff options
author | Ray Strode <rstrode@redhat.com> | 2015-02-17 16:46:29 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2015-02-18 17:34:16 -0500 |
commit | 35719a79adfb0a47894f1bc304bab665aaefcd49 (patch) | |
tree | 83e25fda950d93325f6ac72504760efbc44f200e /daemon/gdm-local-display.c | |
parent | 3402c71e4db08337e7a537cdd85a31eea1d5ff20 (diff) | |
download | gdm-35719a79adfb0a47894f1bc304bab665aaefcd49.tar.gz |
display: add new session-class property
The session-class property is analagous to the
sd_login session class. It can be either
"greeter" or "user".
This helps us decide whether or not to add a
launch environment to the display.
We need this because some displays go straight
to a user session.
https://bugzilla.gnome.org/show_bug.cgi?id=744764
Diffstat (limited to 'daemon/gdm-local-display.c')
-rw-r--r-- | daemon/gdm-local-display.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/daemon/gdm-local-display.c b/daemon/gdm-local-display.c index 6fc2e60f..a9762a7a 100644 --- a/daemon/gdm-local-display.c +++ b/daemon/gdm-local-display.c @@ -91,6 +91,7 @@ gdm_local_display_prepare (GdmDisplay *display) GdmLocalDisplay *self = GDM_LOCAL_DISPLAY (display); GdmLaunchEnvironment *launch_environment; char *seat_id; + char *session_class; gboolean doing_initial_setup = FALSE; seat_id = NULL; @@ -98,8 +99,13 @@ gdm_local_display_prepare (GdmDisplay *display) g_object_get (self, "seat-id", &seat_id, "doing-initial-setup", &doing_initial_setup, + "session-class", &session_class, NULL); + if (g_strcmp0 (session_class, "greeter") != 0) { + goto out; + } + if (!doing_initial_setup) { launch_environment = gdm_create_greeter_launch_environment (NULL, seat_id, @@ -115,6 +121,9 @@ gdm_local_display_prepare (GdmDisplay *display) g_object_set (self, "launch-environment", launch_environment, NULL); g_object_unref (launch_environment); +out: + g_free (seat_id); + g_free (session_class); return GDM_DISPLAY_CLASS (gdm_local_display_parent_class)->prepare (display); } |