[gdm/wip/wayland-at-login-screen: 67/68] manager: keep track of implicitly created displays
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm/wip/wayland-at-login-screen: 67/68] manager: keep track of implicitly created displays
- Date: Tue, 17 Feb 2015 22:39:49 +0000 (UTC)
commit 168603f4168372a239e62b286a7ff39face94158
Author: Ray Strode <rstrode redhat com>
Date: Tue Feb 17 17:06:29 2015 -0500
manager: keep track of implicitly created displays
If a display is created implicitly using gdm-x-session
or gdm-wayland-session then we need to add it to the display
store so we can track it.
daemon/gdm-manager.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
index 6c030b8..3e808d3 100644
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -45,6 +45,7 @@
#include "gdm-manager-glue.h"
#include "gdm-display-store.h"
#include "gdm-display-factory.h"
+#include "gdm-local-display.h"
#include "gdm-local-display-factory.h"
#include "gdm-session.h"
#include "gdm-session-record.h"
@@ -1636,6 +1637,7 @@ on_start_user_session (StartUserSessionOperation *operation)
g_object_set (G_OBJECT (display), "is-for-greeter", FALSE, NULL);
} else {
uid_t allowed_uid;
+ GdmDisplay *user_display;
g_debug ("GdmManager: session has its display server, reusing our server for another login
screen");
@@ -1646,6 +1648,13 @@ on_start_user_session (StartUserSessionOperation *operation)
g_object_set_data (G_OBJECT (display), "gdm-embryonic-user-session", NULL);
g_object_set_data (G_OBJECT (operation->session), "gdm-display", NULL);
create_embryonic_user_session_for_display (operation->manager, display, allowed_uid);
+
+ /* Give the user session a new display object for bookkeeping purposes */
+ user_display = gdm_local_display_new ();
+ g_object_set (G_OBJECT (user_display), "is-for-greeter", FALSE, NULL);
+ gdm_display_store_add (operation->manager->priv->display_store,
+ user_display);
+ g_object_set_data (G_OBJECT (operation->session), "gdm-display", user_display);
}
start_user_session (operation->manager, operation);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]