Another session selection fix
The last commit pruned something that should have been integrated into a different patch. This commit fixes that. Also, clean up the intermediate changelog entries, because they look kind of redundant. Related: #1985099
This commit is contained in:
parent
bac40f22aa
commit
d27947010f
@ -1,4 +1,4 @@
|
||||
From 42958e082c611d2e2f466247e7d8759dfb5f607d Mon Sep 17 00:00:00 2001
|
||||
From a8f8a5ee422d6ae3d87c1fba351313a5d98ded6e Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 16 Jul 2021 12:34:57 -0400
|
||||
Subject: [PATCH] local-display-factory: Provide more flexibility for
|
||||
@ -25,14 +25,14 @@ fall back to "wayland".
|
||||
daemon/gdm-display.c | 36 +++++
|
||||
daemon/gdm-launch-environment.c | 9 ++
|
||||
daemon/gdm-local-display-factory.c | 224 ++++++++++++++++++++++++-----
|
||||
daemon/gdm-manager.c | 11 +-
|
||||
daemon/gdm-manager.c | 22 ++-
|
||||
daemon/gdm-session.c | 115 ++++++++-------
|
||||
data/gdm.schemas.in | 10 ++
|
||||
libgdm/gdm-sessions.c | 72 +++++++---
|
||||
8 files changed, 361 insertions(+), 118 deletions(-)
|
||||
8 files changed, 366 insertions(+), 124 deletions(-)
|
||||
|
||||
diff --git a/common/gdm-settings-keys.h b/common/gdm-settings-keys.h
|
||||
index f0059b5c..87685d3c 100644
|
||||
index f0059b5cf..87685d3cd 100644
|
||||
--- a/common/gdm-settings-keys.h
|
||||
+++ b/common/gdm-settings-keys.h
|
||||
@@ -6,59 +6,61 @@
|
||||
@ -98,7 +98,7 @@ index f0059b5c..87685d3c 100644
|
||||
|
||||
#endif /* _GDM_SETTINGS_KEYS_H */
|
||||
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
|
||||
index 3a260923..34467856 100644
|
||||
index 3a260923a..46d5a7732 100644
|
||||
--- a/daemon/gdm-display.c
|
||||
+++ b/daemon/gdm-display.c
|
||||
@@ -66,83 +66,86 @@ typedef struct _GdmDisplayPrivate
|
||||
@ -583,7 +583,7 @@ index 3a260923..34467856 100644
|
||||
self);
|
||||
g_signal_handlers_disconnect_by_func (priv->launch_environment,
|
||||
diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c
|
||||
index 87a1c5ff..14ecfac2 100644
|
||||
index 87a1c5ffe..14ecfac2d 100644
|
||||
--- a/daemon/gdm-launch-environment.c
|
||||
+++ b/daemon/gdm-launch-environment.c
|
||||
@@ -134,60 +134,61 @@ static GHashTable *
|
||||
@ -718,7 +718,7 @@ index 87a1c5ff..14ecfac2 100644
|
||||
|
||||
g_signal_emit (G_OBJECT (launch_environment), signals [OPENED], 0);
|
||||
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
|
||||
index 8a4ef06c..141d64c6 100644
|
||||
index 8a4ef06cd..141d64c6b 100644
|
||||
--- a/daemon/gdm-local-display-factory.c
|
||||
+++ b/daemon/gdm-local-display-factory.c
|
||||
@@ -156,126 +156,225 @@ take_next_display_number (GdmLocalDisplayFactory *factory)
|
||||
@ -1226,7 +1226,7 @@ index 8a4ef06c..141d64c6 100644
|
||||
|
||||
static gboolean
|
||||
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
|
||||
index 9c10adff..7c291013 100644
|
||||
index 9c10adff3..4c2752fee 100644
|
||||
--- a/daemon/gdm-manager.c
|
||||
+++ b/daemon/gdm-manager.c
|
||||
@@ -1306,74 +1306,75 @@ get_automatic_login_details (GdmManager *manager,
|
||||
@ -1307,7 +1307,9 @@ index 9c10adff..7c291013 100644
|
||||
set_up_greeter_session (GdmManager *manager,
|
||||
GdmDisplay *display)
|
||||
{
|
||||
@@ -2280,61 +2281,60 @@ on_session_reauthentication_started (GdmSession *session,
|
||||
@@ -2278,87 +2279,85 @@ on_session_reauthentication_started (GdmSession *session,
|
||||
|
||||
if (invocation != NULL) {
|
||||
g_hash_table_steal (manager->priv->open_reauthentication_requests,
|
||||
source_tag);
|
||||
gdm_dbus_manager_complete_open_reauthentication_channel (GDM_DBUS_MANAGER (manager),
|
||||
@ -1336,10 +1338,11 @@ index 9c10adff..7c291013 100644
|
||||
char *display_auth_file = NULL;
|
||||
char *display_seat_id = NULL;
|
||||
char *display_id = NULL;
|
||||
#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
|
||||
g_autofree char *display_session_type = NULL;
|
||||
-#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
|
||||
- g_autofree char *display_session_type = NULL;
|
||||
- gboolean greeter_is_wayland;
|
||||
#endif
|
||||
-#endif
|
||||
+ g_auto (GStrv) supported_session_types = NULL;
|
||||
|
||||
g_object_get (G_OBJECT (display),
|
||||
"id", &display_id,
|
||||
@ -1348,9 +1351,10 @@ index 9c10adff..7c291013 100644
|
||||
"remote-hostname", &remote_hostname,
|
||||
"x11-authority-file", &display_auth_file,
|
||||
"seat-id", &display_seat_id,
|
||||
#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
|
||||
"session-type", &display_session_type,
|
||||
#endif
|
||||
-#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
|
||||
- "session-type", &display_session_type,
|
||||
-#endif
|
||||
+ "supported-session-types", &supported_session_types,
|
||||
NULL);
|
||||
display_device = get_display_device (manager, display);
|
||||
|
||||
@ -1363,13 +1367,40 @@ index 9c10adff..7c291013 100644
|
||||
display_auth_file,
|
||||
display_is_local,
|
||||
NULL);
|
||||
+ g_object_set (G_OBJECT (session),
|
||||
+ "supported-session-types", supported_session_types,
|
||||
+ NULL);
|
||||
|
||||
g_debug ("GdmSession: Created user session for user %d on display %s (seat %s)",
|
||||
(int) allowed_user,
|
||||
display_id,
|
||||
display_seat_id);
|
||||
|
||||
@@ -2378,65 +2378,60 @@ create_user_session_for_display (GdmManager *manager,
|
||||
g_free (display_name);
|
||||
g_free (remote_hostname);
|
||||
g_free (display_auth_file);
|
||||
g_free (display_seat_id);
|
||||
|
||||
g_signal_connect (session,
|
||||
"reauthentication-started",
|
||||
G_CALLBACK (on_session_reauthentication_started),
|
||||
manager);
|
||||
g_signal_connect (session,
|
||||
"reauthenticated",
|
||||
G_CALLBACK (on_session_reauthenticated),
|
||||
manager);
|
||||
g_signal_connect (session,
|
||||
"client-ready-for-session-to-start",
|
||||
G_CALLBACK (on_session_client_ready_for_session_to_start),
|
||||
manager);
|
||||
g_signal_connect (session,
|
||||
"client-connected",
|
||||
G_CALLBACK (on_session_client_connected),
|
||||
manager);
|
||||
g_signal_connect (session,
|
||||
"client-disconnected",
|
||||
G_CALLBACK (on_session_client_disconnected),
|
||||
@@ -2378,65 +2377,60 @@ create_user_session_for_display (GdmManager *manager,
|
||||
g_signal_connect (session,
|
||||
"authentication-failed",
|
||||
G_CALLBACK (on_session_authentication_failed),
|
||||
@ -1436,7 +1467,7 @@ index 9c10adff..7c291013 100644
|
||||
}
|
||||
|
||||
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
|
||||
index a010cecf..2b941e5e 100644
|
||||
index a010cecf5..2b941e5e1 100644
|
||||
--- a/daemon/gdm-session.c
|
||||
+++ b/daemon/gdm-session.c
|
||||
@@ -106,84 +106,81 @@ struct _GdmSession
|
||||
@ -2109,7 +2140,7 @@ index a010cecf..2b941e5e 100644
|
||||
NULL);
|
||||
|
||||
diff --git a/data/gdm.schemas.in b/data/gdm.schemas.in
|
||||
index 255bff02..a1035f95 100644
|
||||
index 255bff023..a1035f95e 100644
|
||||
--- a/data/gdm.schemas.in
|
||||
+++ b/data/gdm.schemas.in
|
||||
@@ -25,65 +25,75 @@
|
||||
@ -2189,7 +2220,7 @@ index 255bff02..a1035f95 100644
|
||||
<key>xdmcp/MaxPending</key>
|
||||
<signature>i</signature>
|
||||
diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
|
||||
index a1322505..f078e04b 100644
|
||||
index a13225050..f078e04b8 100644
|
||||
--- a/libgdm/gdm-sessions.c
|
||||
+++ b/libgdm/gdm-sessions.c
|
||||
@@ -163,171 +163,203 @@ load_session_file (const char *id,
|
||||
@ -2417,5 +2448,5 @@ index a1322505..f078e04b 100644
|
||||
* Returns: (transfer full): a %NULL terminated list of session ids
|
||||
*/
|
||||
--
|
||||
2.32.0
|
||||
2.31.1
|
||||
|
||||
|
13
gdm.spec
13
gdm.spec
@ -11,7 +11,7 @@
|
||||
Name: gdm
|
||||
Epoch: 1
|
||||
Version: 40.1
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: The GNOME Display Manager
|
||||
|
||||
License: GPLv2+
|
||||
@ -311,16 +311,7 @@ dconf update || :
|
||||
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
|
||||
|
||||
%changelog
|
||||
* Wed Jul 28 2021 Ray Strode <rstrode@redhat.com> - 40.1-3
|
||||
- Clean up the initial-setup disabling patch that somehow
|
||||
got bits from another patch in it.
|
||||
Related: #1985099
|
||||
|
||||
* Wed Jul 28 2021 Ray Strode <rstrode@redhat.com> - 40.1-2
|
||||
- A few clean ups and fixes in session selection patch
|
||||
Related: #1985099
|
||||
|
||||
* Fri Jul 23 2021 Ray Strode <rstrode@redhat.com> - 40.1-1
|
||||
* Wed Jul 28 2021 Ray Strode <rstrode@redhat.com> - 40.1-4
|
||||
- Update to 40.1
|
||||
- Allow vendor nvidia users to choose wayland sessions
|
||||
Related: #1985099
|
||||
|
Loading…
Reference in New Issue
Block a user