Leave session-opened signature the same as before

Use session-opened-with-session-id signal to keep ABI compatibility
Related: RHEL-46383
This commit is contained in:
Joan Torres López 2025-06-19 18:02:18 +02:00
parent 6ce94b9c23
commit 263911e961
2 changed files with 23 additions and 16 deletions

View File

@ -369,7 +369,7 @@ index 137be5e27..e5a1e4bb3 100644
From b70145ecaabe57e947bfb703bbd5d2e7b953609d Mon Sep 17 00:00:00 2001
From: Joan Torres <joantolo@redhat.com>
Date: Thu, 8 May 2025 11:52:40 +0200
Subject: [PATCH 3/3] session: Add session_id on greeter SessionOpened signal
Subject: [PATCH 3/3] session: On greeter add SessionOpenedWithSessionId signal
This session_id will be used by the gnome-shell at login session when
searching if there's already a user session opened, ignoring this one which is
@ -377,37 +377,39 @@ being opened.
Part-of<https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/233>
---
daemon/gdm-session.c | 3 ++-
daemon/gdm-session.xml | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
daemon/gdm-session.c | 3 +++
daemon/gdm-session.xml | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 7ea6c3fb7..a7bda3876 100644
index 8e7c6774a..cd758e18f 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -892,7 +892,8 @@ on_opened (GdmDBusWorker *worker,
@@ -976,6 +976,9 @@ on_opened (GdmDBusWorker *worker,
if (self->greeter_interface != NULL) {
gdm_dbus_greeter_emit_session_opened (self->greeter_interface,
- service_name);
+ service_name,
+ session_id);
service_name);
+ gdm_dbus_greeter_emit_session_opened_with_session_id (self->greeter_interface,
+ service_name,
+ session_id);
}
g_debug ("GdmSession: Emitting 'session-opened' signal");
diff --git a/daemon/gdm-session.xml b/daemon/gdm-session.xml
index e5a1e4bb3..b2bff7626 100644
index f22e37c8c..9ba2fb213 100644
--- a/daemon/gdm-session.xml
+++ b/daemon/gdm-session.xml
@@ -131,6 +131,7 @@
</signal>
@@ -156,6 +156,10 @@
<signal name="SessionOpened">
<arg name="service_name" type="s"/>
+ <arg name="session_id" type="s"/>
</signal>
+ <signal name="SessionOpenedWithSessionId">
+ <arg name="service_name" type="s"/>
+ <arg name="session_id" type="s"/>
+ </signal>
<signal name="Reauthenticated">
<arg name="service_name" type="s"/>
</signal>
--
2.49.0

View File

@ -11,7 +11,7 @@
Name: gdm
Epoch: 1
Version: 40.1
Release: 31%{?dist}
Release: 32%{?dist}
Summary: The GNOME Display Manager
License: GPLv2+
@ -370,6 +370,11 @@ dconf update || :
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
%changelog
* Thu Jun 19 2025 Joan Torres <joantolo@redhat.com> - 40.1-32
- Leave session-opened signature the same as before and use a new
session-opened-with-session-id signal to keep ABI compatibility
Related: RHEL-46383
* Thu Jun 12 2025 Joan Torres <joantolo@redhat.com> - 40.1-31
- Fix legacy-xorg session switching
The fix that intended to fix the issue wasn't complete and also,