From aca6df15ec65f1438eb9fca3481f7f9561681fe9 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 11 Mar 2025 07:18:33 +0000 Subject: [PATCH] import CS gnome-shell-40.10-24.el9 --- ...1-dnd-Don-t-leak-a-signal-connection.patch | 28 ++++++++++ ...-session-menu-button-when-in-IN_PROG.patch | 41 ++++++++++++++ ...cker-Help-mutter-finding-app-info-s-.patch | 56 +++++++++++++++++++ SPECS/gnome-shell.spec | 17 +++++- 4 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0001-dnd-Don-t-leak-a-signal-connection.patch create mode 100644 SOURCES/0001-loginDialog-Show-session-menu-button-when-in-IN_PROG.patch create mode 100644 SOURCES/0001-shell-window-tracker-Help-mutter-finding-app-info-s-.patch diff --git a/SOURCES/0001-dnd-Don-t-leak-a-signal-connection.patch b/SOURCES/0001-dnd-Don-t-leak-a-signal-connection.patch new file mode 100644 index 0000000..e976448 --- /dev/null +++ b/SOURCES/0001-dnd-Don-t-leak-a-signal-connection.patch @@ -0,0 +1,28 @@ +From 97c77c6f222d9a7ca24bb32295f8debf65b303a1 Mon Sep 17 00:00:00 2001 +From: Zacharie DUBRULLE +Date: Thu, 18 May 2023 11:40:32 +0000 +Subject: [PATCH] dnd: Don't leak a signal connection + +The handler is currently leaked when a drag monitor stops a +motion event. + +Part-of: +--- + js/ui/dnd.js | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/js/ui/dnd.js b/js/ui/dnd.js +index cefde6f603..5027ed4325 100644 +--- a/js/ui/dnd.js ++++ b/js/ui/dnd.js +@@ -562,6 +562,7 @@ var _Draggable = class _Draggable { + let result = motionFunc(dragEvent); + if (result != DragMotionResult.CONTINUE) { + global.display.set_cursor(DRAG_CURSOR_MAP[result]); ++ dragEvent.targetActor.disconnect(targetActorDestroyHandlerId); + return GLib.SOURCE_REMOVE; + } + } +-- +2.47.0 + diff --git a/SOURCES/0001-loginDialog-Show-session-menu-button-when-in-IN_PROG.patch b/SOURCES/0001-loginDialog-Show-session-menu-button-when-in-IN_PROG.patch new file mode 100644 index 0000000..e148009 --- /dev/null +++ b/SOURCES/0001-loginDialog-Show-session-menu-button-when-in-IN_PROG.patch @@ -0,0 +1,41 @@ +From 44868c705fe499bf6a0aeeef90192e54175b88cb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 13 Feb 2025 14:11:04 +0100 +Subject: [PATCH] loginDialog: Show session menu button when in IN_PROGRESS + status + +Commit c8bb45b added a new IN_PROGRESS status that replaces FAILED +while the user is still allowed to retry authentication. + +We need to account for it when updating the visibility of the +session menu button, otherwise the button disappears after +entering a wrong password. + +Fixes: c8bb45b41c ("gdm: Limit verification cancellations to be conform to allowed-failures") +Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5784 +--- + js/gdm/loginDialog.js | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js +index 1df5c5eed0..36ecfe444f 100644 +--- a/js/gdm/loginDialog.js ++++ b/js/gdm/loginDialog.js +@@ -890,8 +890,12 @@ var LoginDialog = GObject.registerClass({ + } + + _shouldShowSessionMenuButton() { +- if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFYING && +- this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFICATION_FAILED) ++ const visibleStatuses = [ ++ AuthPrompt.AuthPromptStatus.VERIFYING, ++ AuthPrompt.AuthPromptStatus.VERIFICATION_FAILED, ++ AuthPrompt.AuthPromptStatus.VERIFICATION_IN_PROGRESS, ++ ]; ++ if (!visibleStatuses.includes(this._authPrompt.verificationStatus)) + return false; + + if (this._user && this._user.is_loaded && this._user.is_logged_in()) +-- +2.48.1 + diff --git a/SOURCES/0001-shell-window-tracker-Help-mutter-finding-app-info-s-.patch b/SOURCES/0001-shell-window-tracker-Help-mutter-finding-app-info-s-.patch new file mode 100644 index 0000000..4a9992f --- /dev/null +++ b/SOURCES/0001-shell-window-tracker-Help-mutter-finding-app-info-s-.patch @@ -0,0 +1,56 @@ +From b1be295de28f45762a525d3ad3f91729295a7511 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonas=20=C3=85dahl?= +Date: Fri, 18 Oct 2024 13:20:23 +0200 +Subject: [PATCH] shell/window-tracker: Help mutter finding app info's for + windows + +--- + src/shell-window-tracker.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/src/shell-window-tracker.c b/src/shell-window-tracker.c +index bc14040d9b..8fbcca4269 100644 +--- a/src/shell-window-tracker.c ++++ b/src/shell-window-tracker.c +@@ -651,6 +651,20 @@ shell_window_tracker_on_n_workspaces_changed (MetaWorkspaceManager *workspace_ma + } + } + ++static GAppInfo * ++on_find_app_info (MetaDisplay *display, ++ MetaWindow *window, ++ ShellWindowTracker *tracker) ++{ ++ g_autoptr (ShellApp) app = NULL; ++ ++ app = get_app_for_window (tracker, window); ++ if (!app) ++ return NULL; ++ ++ return g_object_ref (G_APP_INFO (shell_app_get_app_info (app))); ++} ++ + static void + init_window_tracking (ShellWindowTracker *self) + { +@@ -665,6 +679,17 @@ init_window_tracking (ShellWindowTracker *self) + g_signal_connect(display, "window-created", + G_CALLBACK (on_window_created), self); + ++ if (g_signal_lookup ("find-app-info", META_TYPE_DISPLAY)) ++ { ++ g_debug ("Mutter app finding with the help of gnome-shell"); ++ g_signal_connect (display, "find-app-info", ++ G_CALLBACK (on_find_app_info), self); ++ } ++ else ++ { ++ g_debug ("No mutter app finding with the help of gnome-shell"); ++ } ++ + shell_window_tracker_on_n_workspaces_changed (workspace_manager, NULL, self); + } + +-- +2.44.0.501.g19981daefd.dirty + diff --git a/SPECS/gnome-shell.spec b/SPECS/gnome-shell.spec index 66c5a60..e820733 100644 --- a/SPECS/gnome-shell.spec +++ b/SPECS/gnome-shell.spec @@ -8,7 +8,7 @@ Name: gnome-shell Version: 40.10 -Release: 21%{?dist} +Release: 24%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ @@ -34,6 +34,7 @@ Patch15: gdm-networking.patch Patch16: login-screen-extensions.patch Patch17: fix-resetting-auth-prompt.patch Patch18: 0001-authPrompt-Disregard-smartcard-status-changes-events.patch +Patch19: 0001-loginDialog-Show-session-menu-button-when-in-IN_PROG.patch # Misc. Patch30: 0001-panel-add-an-icon-to-the-ActivitiesButton.patch @@ -69,6 +70,8 @@ Patch59: 0001-extensionSystem-Support-locking-down-extension-insta.patch Patch60: 0001-windowPreview-Override-with-window-icon-if-available.patch Patch61: screencast-bus-name.patch Patch62: fix-inhibit-shortcut-permission.patch +Patch63: 0001-shell-window-tracker-Help-mutter-finding-app-info-s-.patch +Patch64: 0001-dnd-Don-t-leak-a-signal-connection.patch %define eds_version 3.33.1 %define gnome_desktop_version 3.35.91 @@ -298,6 +301,18 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de %endif %changelog +* Thu Feb 13 2025 Florian Müllner - 40.10-24 +- Fix session button visibility after auth failure + Resolves: RHEL-4116 + +* Tue Nov 19 2024 Florian Müllner - 40.10-23 +- Fix leaked signal connection + Related: RHEL-22692 + +* Fri Oct 18 2024 Jonas Ådahl - 40.10-22 +- Help mutter finding app info for windows + Resolves: RHEL-63000 + * Wed Jul 10 2024 Florian Müllner - 40.10-21 - Only open portal login in response to user action Resolves: RHEL-39098