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>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Fri, 16 Jul 2021 12:34:57 -0400
|
Date: Fri, 16 Jul 2021 12:34:57 -0400
|
||||||
Subject: [PATCH] local-display-factory: Provide more flexibility for
|
Subject: [PATCH] local-display-factory: Provide more flexibility for
|
||||||
@ -25,14 +25,14 @@ fall back to "wayland".
|
|||||||
daemon/gdm-display.c | 36 +++++
|
daemon/gdm-display.c | 36 +++++
|
||||||
daemon/gdm-launch-environment.c | 9 ++
|
daemon/gdm-launch-environment.c | 9 ++
|
||||||
daemon/gdm-local-display-factory.c | 224 ++++++++++++++++++++++++-----
|
daemon/gdm-local-display-factory.c | 224 ++++++++++++++++++++++++-----
|
||||||
daemon/gdm-manager.c | 11 +-
|
daemon/gdm-manager.c | 22 ++-
|
||||||
daemon/gdm-session.c | 115 ++++++++-------
|
daemon/gdm-session.c | 115 ++++++++-------
|
||||||
data/gdm.schemas.in | 10 ++
|
data/gdm.schemas.in | 10 ++
|
||||||
libgdm/gdm-sessions.c | 72 +++++++---
|
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
|
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
|
--- a/common/gdm-settings-keys.h
|
||||||
+++ b/common/gdm-settings-keys.h
|
+++ b/common/gdm-settings-keys.h
|
||||||
@@ -6,59 +6,61 @@
|
@@ -6,59 +6,61 @@
|
||||||
@ -98,7 +98,7 @@ index f0059b5c..87685d3c 100644
|
|||||||
|
|
||||||
#endif /* _GDM_SETTINGS_KEYS_H */
|
#endif /* _GDM_SETTINGS_KEYS_H */
|
||||||
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
|
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
|
--- a/daemon/gdm-display.c
|
||||||
+++ b/daemon/gdm-display.c
|
+++ b/daemon/gdm-display.c
|
||||||
@@ -66,83 +66,86 @@ typedef struct _GdmDisplayPrivate
|
@@ -66,83 +66,86 @@ typedef struct _GdmDisplayPrivate
|
||||||
@ -583,7 +583,7 @@ index 3a260923..34467856 100644
|
|||||||
self);
|
self);
|
||||||
g_signal_handlers_disconnect_by_func (priv->launch_environment,
|
g_signal_handlers_disconnect_by_func (priv->launch_environment,
|
||||||
diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c
|
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
|
--- a/daemon/gdm-launch-environment.c
|
||||||
+++ b/daemon/gdm-launch-environment.c
|
+++ b/daemon/gdm-launch-environment.c
|
||||||
@@ -134,60 +134,61 @@ static GHashTable *
|
@@ -134,60 +134,61 @@ static GHashTable *
|
||||||
@ -718,7 +718,7 @@ index 87a1c5ff..14ecfac2 100644
|
|||||||
|
|
||||||
g_signal_emit (G_OBJECT (launch_environment), signals [OPENED], 0);
|
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
|
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
|
--- a/daemon/gdm-local-display-factory.c
|
||||||
+++ b/daemon/gdm-local-display-factory.c
|
+++ b/daemon/gdm-local-display-factory.c
|
||||||
@@ -156,126 +156,225 @@ take_next_display_number (GdmLocalDisplayFactory *factory)
|
@@ -156,126 +156,225 @@ take_next_display_number (GdmLocalDisplayFactory *factory)
|
||||||
@ -1226,7 +1226,7 @@ index 8a4ef06c..141d64c6 100644
|
|||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
|
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
|
--- a/daemon/gdm-manager.c
|
||||||
+++ b/daemon/gdm-manager.c
|
+++ b/daemon/gdm-manager.c
|
||||||
@@ -1306,74 +1306,75 @@ get_automatic_login_details (GdmManager *manager,
|
@@ -1306,74 +1306,75 @@ get_automatic_login_details (GdmManager *manager,
|
||||||
@ -1307,7 +1307,9 @@ index 9c10adff..7c291013 100644
|
|||||||
set_up_greeter_session (GdmManager *manager,
|
set_up_greeter_session (GdmManager *manager,
|
||||||
GdmDisplay *display)
|
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,
|
g_hash_table_steal (manager->priv->open_reauthentication_requests,
|
||||||
source_tag);
|
source_tag);
|
||||||
gdm_dbus_manager_complete_open_reauthentication_channel (GDM_DBUS_MANAGER (manager),
|
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_auth_file = NULL;
|
||||||
char *display_seat_id = NULL;
|
char *display_seat_id = NULL;
|
||||||
char *display_id = NULL;
|
char *display_id = NULL;
|
||||||
#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
|
-#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
|
||||||
g_autofree char *display_session_type = NULL;
|
- g_autofree char *display_session_type = NULL;
|
||||||
- gboolean greeter_is_wayland;
|
- gboolean greeter_is_wayland;
|
||||||
#endif
|
-#endif
|
||||||
|
+ g_auto (GStrv) supported_session_types = NULL;
|
||||||
|
|
||||||
g_object_get (G_OBJECT (display),
|
g_object_get (G_OBJECT (display),
|
||||||
"id", &display_id,
|
"id", &display_id,
|
||||||
@ -1348,9 +1351,10 @@ index 9c10adff..7c291013 100644
|
|||||||
"remote-hostname", &remote_hostname,
|
"remote-hostname", &remote_hostname,
|
||||||
"x11-authority-file", &display_auth_file,
|
"x11-authority-file", &display_auth_file,
|
||||||
"seat-id", &display_seat_id,
|
"seat-id", &display_seat_id,
|
||||||
#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
|
-#if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
|
||||||
"session-type", &display_session_type,
|
- "session-type", &display_session_type,
|
||||||
#endif
|
-#endif
|
||||||
|
+ "supported-session-types", &supported_session_types,
|
||||||
NULL);
|
NULL);
|
||||||
display_device = get_display_device (manager, display);
|
display_device = get_display_device (manager, display);
|
||||||
|
|
||||||
@ -1363,13 +1367,40 @@ index 9c10adff..7c291013 100644
|
|||||||
display_auth_file,
|
display_auth_file,
|
||||||
display_is_local,
|
display_is_local,
|
||||||
NULL);
|
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)",
|
g_debug ("GdmSession: Created user session for user %d on display %s (seat %s)",
|
||||||
(int) allowed_user,
|
(int) allowed_user,
|
||||||
display_id,
|
display_id,
|
||||||
display_seat_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,
|
g_signal_connect (session,
|
||||||
"authentication-failed",
|
"authentication-failed",
|
||||||
G_CALLBACK (on_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
|
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
|
--- a/daemon/gdm-session.c
|
||||||
+++ b/daemon/gdm-session.c
|
+++ b/daemon/gdm-session.c
|
||||||
@@ -106,84 +106,81 @@ struct _GdmSession
|
@@ -106,84 +106,81 @@ struct _GdmSession
|
||||||
@ -2109,7 +2140,7 @@ index a010cecf..2b941e5e 100644
|
|||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
diff --git a/data/gdm.schemas.in b/data/gdm.schemas.in
|
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
|
--- a/data/gdm.schemas.in
|
||||||
+++ b/data/gdm.schemas.in
|
+++ b/data/gdm.schemas.in
|
||||||
@@ -25,65 +25,75 @@
|
@@ -25,65 +25,75 @@
|
||||||
@ -2189,7 +2220,7 @@ index 255bff02..a1035f95 100644
|
|||||||
<key>xdmcp/MaxPending</key>
|
<key>xdmcp/MaxPending</key>
|
||||||
<signature>i</signature>
|
<signature>i</signature>
|
||||||
diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
|
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
|
--- a/libgdm/gdm-sessions.c
|
||||||
+++ b/libgdm/gdm-sessions.c
|
+++ b/libgdm/gdm-sessions.c
|
||||||
@@ -163,171 +163,203 @@ load_session_file (const char *id,
|
@@ -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
|
* 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
|
Name: gdm
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 40.1
|
Version: 40.1
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: The GNOME Display Manager
|
Summary: The GNOME Display Manager
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -311,16 +311,7 @@ dconf update || :
|
|||||||
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
|
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Jul 28 2021 Ray Strode <rstrode@redhat.com> - 40.1-3
|
* Wed Jul 28 2021 Ray Strode <rstrode@redhat.com> - 40.1-4
|
||||||
- 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
|
|
||||||
- Update to 40.1
|
- Update to 40.1
|
||||||
- Allow vendor nvidia users to choose wayland sessions
|
- Allow vendor nvidia users to choose wayland sessions
|
||||||
Related: #1985099
|
Related: #1985099
|
||||||
|
Loading…
Reference in New Issue
Block a user