import CS gnome-shell-40.10-25.el9_6
This commit is contained in:
parent
1a2dcdd4d6
commit
016d91b685
28
SOURCES/0001-dnd-Don-t-leak-a-signal-connection.patch
Normal file
28
SOURCES/0001-dnd-Don-t-leak-a-signal-connection.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 97c77c6f222d9a7ca24bb32295f8debf65b303a1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zacharie DUBRULLE <dubrullezacharie@gmail.com>
|
||||||
|
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: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2770>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
@ -0,0 +1,41 @@
|
|||||||
|
From 44868c705fe499bf6a0aeeef90192e54175b88cb Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
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
|
||||||
|
|
115
SOURCES/0001-st-theme-Reuse-stylesheets-if-possible.patch
Normal file
115
SOURCES/0001-st-theme-Reuse-stylesheets-if-possible.patch
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
From 11a28c3df5cd0afb254d5f1f68dcb923b97d09ae Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Wed, 29 Jan 2025 02:46:44 +0100
|
||||||
|
Subject: [PATCH] st/theme: Reuse stylesheets if possible
|
||||||
|
|
||||||
|
The following happens when processing an `@import()` rule:
|
||||||
|
|
||||||
|
1. `_st_theme_resolve_url()` to resolve file
|
||||||
|
2. `insert_stylesheet()` to track file/sheet
|
||||||
|
a. take ownership of file/sheet (ref)
|
||||||
|
b. use file as key in `stylesheets_by_file` hash table
|
||||||
|
c. use file as value in `files_by_stylesheet` hash table
|
||||||
|
3. release reference to file
|
||||||
|
|
||||||
|
This leads to a refcount error when importing a file that
|
||||||
|
was already parsed before:
|
||||||
|
|
||||||
|
1. file start with refcount 1
|
||||||
|
2. `insert_stylesheet()`
|
||||||
|
a. increases refcount to 2
|
||||||
|
b. inserting into `stylesheets_by_file` *decreases* the
|
||||||
|
passed-in key if the key already exists
|
||||||
|
c. `files_by_stylesheet` now tracks a file with recount 1
|
||||||
|
3. releases the last reference to file
|
||||||
|
|
||||||
|
The file object tracked in `files_by_stylesheet` is now invalid,
|
||||||
|
and accessing it results in a crash.
|
||||||
|
|
||||||
|
Avoid this issue by reusing existing stylesheets, so we don't insert
|
||||||
|
a stylesheet that's already tracked.
|
||||||
|
|
||||||
|
As a side-effect, this also saves us from re-parsing the same file
|
||||||
|
unnecessarily.
|
||||||
|
|
||||||
|
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7306
|
||||||
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3619>
|
||||||
|
---
|
||||||
|
src/st/st-theme.c | 32 ++++++++++++++++++++++++++------
|
||||||
|
1 file changed, 26 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/st/st-theme.c b/src/st/st-theme.c
|
||||||
|
index 20d42fd334..5db35645bf 100644
|
||||||
|
--- a/src/st/st-theme.c
|
||||||
|
+++ b/src/st/st-theme.c
|
||||||
|
@@ -250,6 +250,27 @@ insert_stylesheet (StTheme *theme,
|
||||||
|
g_hash_table_insert (theme->files_by_stylesheet, stylesheet, file);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static CRStyleSheet *
|
||||||
|
+resolve_stylesheet (StTheme *theme,
|
||||||
|
+ GFile *file,
|
||||||
|
+ GError **error)
|
||||||
|
+{
|
||||||
|
+ CRStyleSheet *sheet;
|
||||||
|
+
|
||||||
|
+ sheet = g_hash_table_lookup (theme->stylesheets_by_file, file);
|
||||||
|
+ if (sheet)
|
||||||
|
+ {
|
||||||
|
+ cr_stylesheet_ref (sheet);
|
||||||
|
+ return sheet;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ sheet = parse_stylesheet (file, error);
|
||||||
|
+ if (sheet)
|
||||||
|
+ insert_stylesheet (theme, file, sheet);
|
||||||
|
+
|
||||||
|
+ return sheet;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* st_theme_load_stylesheet:
|
||||||
|
* @theme: a #StTheme
|
||||||
|
@@ -267,13 +288,12 @@ st_theme_load_stylesheet (StTheme *theme,
|
||||||
|
{
|
||||||
|
CRStyleSheet *stylesheet;
|
||||||
|
|
||||||
|
- stylesheet = parse_stylesheet (file, error);
|
||||||
|
+ stylesheet = resolve_stylesheet (theme, file, error);
|
||||||
|
if (!stylesheet)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
stylesheet->app_data = GUINT_TO_POINTER (TRUE);
|
||||||
|
|
||||||
|
- insert_stylesheet (theme, file, stylesheet);
|
||||||
|
cr_stylesheet_ref (stylesheet);
|
||||||
|
theme->custom_stylesheets = g_slist_prepend (theme->custom_stylesheets, stylesheet);
|
||||||
|
g_signal_emit (theme, signals[STYLESHEETS_CHANGED], 0);
|
||||||
|
@@ -890,6 +910,7 @@ add_matched_properties (StTheme *a_this,
|
||||||
|
|
||||||
|
if (import_rule->sheet == NULL)
|
||||||
|
{
|
||||||
|
+ CRStyleSheet *sheet = NULL;
|
||||||
|
GFile *file = NULL;
|
||||||
|
|
||||||
|
if (import_rule->url->stryng && import_rule->url->stryng->str)
|
||||||
|
@@ -897,13 +918,12 @@ add_matched_properties (StTheme *a_this,
|
||||||
|
file = _st_theme_resolve_url (a_this,
|
||||||
|
a_nodesheet,
|
||||||
|
import_rule->url->stryng->str);
|
||||||
|
- import_rule->sheet = parse_stylesheet (file, NULL);
|
||||||
|
+ sheet = resolve_stylesheet (a_this, file, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (import_rule->sheet)
|
||||||
|
+ if (sheet)
|
||||||
|
{
|
||||||
|
- insert_stylesheet (a_this, file, import_rule->sheet);
|
||||||
|
- /* refcount of stylesheets starts off at zero, so we don't need to unref! */
|
||||||
|
+ import_rule->sheet = sheet;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
Name: gnome-shell
|
Name: gnome-shell
|
||||||
Version: 40.10
|
Version: 40.10
|
||||||
Release: 22%{?dist}
|
Release: 25%{?dist}
|
||||||
Summary: Window management and application launching for GNOME
|
Summary: Window management and application launching for GNOME
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -34,6 +34,7 @@ Patch15: gdm-networking.patch
|
|||||||
Patch16: login-screen-extensions.patch
|
Patch16: login-screen-extensions.patch
|
||||||
Patch17: fix-resetting-auth-prompt.patch
|
Patch17: fix-resetting-auth-prompt.patch
|
||||||
Patch18: 0001-authPrompt-Disregard-smartcard-status-changes-events.patch
|
Patch18: 0001-authPrompt-Disregard-smartcard-status-changes-events.patch
|
||||||
|
Patch19: 0001-loginDialog-Show-session-menu-button-when-in-IN_PROG.patch
|
||||||
|
|
||||||
# Misc.
|
# Misc.
|
||||||
Patch30: 0001-panel-add-an-icon-to-the-ActivitiesButton.patch
|
Patch30: 0001-panel-add-an-icon-to-the-ActivitiesButton.patch
|
||||||
@ -70,6 +71,8 @@ Patch60: 0001-windowPreview-Override-with-window-icon-if-available.patch
|
|||||||
Patch61: screencast-bus-name.patch
|
Patch61: screencast-bus-name.patch
|
||||||
Patch62: fix-inhibit-shortcut-permission.patch
|
Patch62: fix-inhibit-shortcut-permission.patch
|
||||||
Patch63: 0001-shell-window-tracker-Help-mutter-finding-app-info-s-.patch
|
Patch63: 0001-shell-window-tracker-Help-mutter-finding-app-info-s-.patch
|
||||||
|
Patch64: 0001-dnd-Don-t-leak-a-signal-connection.patch
|
||||||
|
Patch65: 0001-st-theme-Reuse-stylesheets-if-possible.patch
|
||||||
|
|
||||||
%define eds_version 3.33.1
|
%define eds_version 3.33.1
|
||||||
%define gnome_desktop_version 3.35.91
|
%define gnome_desktop_version 3.35.91
|
||||||
@ -299,6 +302,18 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 05 2025 Florian Müllner <fmuellner@redhat.com> - 40.10-25
|
||||||
|
- Fix refount issue in stylesheet tracking
|
||||||
|
Resolves: RHEL-69401
|
||||||
|
|
||||||
|
* Thu Feb 13 2025 Florian Müllner <fmuellner@redhat.com> - 40.10-24
|
||||||
|
- Fix session button visibility after auth failure
|
||||||
|
Resolves: RHEL-4116
|
||||||
|
|
||||||
|
* Tue Nov 19 2024 Florian Müllner <fmuellner@redhat.com> - 40.10-23
|
||||||
|
- Fix leaked signal connection
|
||||||
|
Related: RHEL-22692
|
||||||
|
|
||||||
* Fri Oct 18 2024 Jonas Ådahl <jadahl@redhat.com> - 40.10-22
|
* Fri Oct 18 2024 Jonas Ådahl <jadahl@redhat.com> - 40.10-22
|
||||||
- Help mutter finding app info for windows
|
- Help mutter finding app info for windows
|
||||||
Resolves: RHEL-63000
|
Resolves: RHEL-63000
|
||||||
|
Loading…
Reference in New Issue
Block a user