Auto sync2gitlab import of gnome-shell-3.32.2-48.el8.src.rpm

This commit is contained in:
CentOS Sources 2022-08-24 10:13:36 +00:00
parent 338388d5f8
commit 37ca794038
3 changed files with 115 additions and 9 deletions

View File

@ -1,8 +1,8 @@
From 1a546d4df199f498b838efdccf081ada8ed1960b Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 15 Jan 2019 12:52:49 -0500
Subject: [PATCH 2/4] background: rebuild background, not just animation on
resume
From f27c4224aa96975ae44641612f5fff3772f5c294 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Mon, 22 Aug 2022 13:06:05 +0200
Subject: [PATCH] [PATCH 2/4] background: rebuild background, not just
animation on resume
Previously, we would only refresh the animation on resume
(to handle clock skew).
@ -14,7 +14,7 @@ so we should just do a full background change.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/ui/background.js b/js/ui/background.js
index 06e038816..75b76a57e 100644
index 2a404ae..dd11e3e 100644
--- a/js/ui/background.js
+++ b/js/ui/background.js
@@ -254,7 +254,7 @@ var Background = class Background {
@ -25,7 +25,7 @@ index 06e038816..75b76a57e 100644
+ this.emit('changed');
});
this._settingsChangedSignalId = this._settings.connect('changed', () => {
this._settingsChangedSignalId =
--
2.21.0
2.35.3

View File

@ -0,0 +1,101 @@
From 49d066234f9f528122bb40c5144b40d8b19a0071 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Mon, 22 Aug 2022 12:52:19 +0200
Subject: [PATCH] Background: Avoid double dispose and actors recreations
Subject: [PATCH 1/2] background: Use Garbage Collector to dispose background:
The same Meta.Background could be used by multiple instances of background
actors, and so should not be disposed when the actor using it is destroyed.
Instead of calling `run_dispose` directly on it, just nullify the reference
on destroy method, leaving the job of doing the proper disposition to the
gabage collector that keeps the proper reference count on the Meta.Background.
Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/501
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/558
Subject: [PATCH 2/2] background: Group 'changed' signal emission
Background is monitoring the whole `org.gnome.desktop.background` gsettings keys
for changes connecting to the non-specialized 'changed' signal and re-emitting
this as-is.
This means that when the background is changed via control-center, we get
multiple 'changed' signal events from GSettings, and for each one of this we
recreate a Background and a BackgroundActor.
Avoid this by using an idle to delay the emission of the 'changed' signal
grouping the events.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/558
---
js/ui/background.js | 26 +++++++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/js/ui/background.js b/js/ui/background.js
index 06e0388..2a404ae 100644
--- a/js/ui/background.js
+++ b/js/ui/background.js
@@ -257,14 +257,15 @@ var Background = class Background {
this._refreshAnimation();
});
- this._settingsChangedSignalId = this._settings.connect('changed', () => {
- this.emit('changed');
- });
+ this._settingsChangedSignalId =
+ this._settings.connect('changed', this._emitChangedSignal.bind(this));
this._load();
}
destroy() {
+ this.background = null;
+
this._cancellable.cancel();
this._removeAnimationTimeout();
@@ -288,6 +289,22 @@ var Background = class Background {
if (this._settingsChangedSignalId != 0)
this._settings.disconnect(this._settingsChangedSignalId);
this._settingsChangedSignalId = 0;
+
+ if (this._changedIdleId) {
+ GLib.source_remove(this._changedIdleId);
+ this._changedIdleId = 0;
+ }
+ }
+
+ _emitChangedSignal() {
+ if (this._changedIdleId)
+ return;
+
+ this._changedIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
+ this._changedIdleId = 0;
+ this.emit('changed');
+ return GLib.SOURCE_REMOVE;
+ });
}
updateResolution() {
@@ -343,7 +360,7 @@ var Background = class Background {
if (changedFile.equal(file)) {
let imageCache = Meta.BackgroundImageCache.get_default();
imageCache.purge(changedFile);
- this.emit('changed');
+ this._emitChangedSignal();
}
});
this._fileWatches[key] = signalId;
@@ -699,7 +716,6 @@ var BackgroundManager = class BackgroundManager {
time: FADE_ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete() {
- oldBackgroundActor.background.run_dispose();
oldBackgroundActor.destroy();
}
});
--
2.35.3

View File

@ -1,6 +1,6 @@
Name: gnome-shell
Version: 3.32.2
Release: 47%{?dist}
Release: 48%{?dist}
Summary: Window management and application launching for GNOME
Group: User Interface/Desktops
@ -71,6 +71,7 @@ Patch59: 0001-shell-recorder-Restore-cursor-recording.patch
Patch60: fix-invalid-access-warnings.patch
Patch61: more-spurious-allocation-warnings.patch
Patch62: fix-some-js-warnings.patch
Patch63: fix-double-disposed-backgrounds.patch
# Backport performance fixes under load (#1820760)
Patch70: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch
@ -279,6 +280,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
%{_mandir}/man1/%{name}.1.gz
%changelog
* Fri Aug 12 2022 Florian Müllner <fmuellner@redhat.com> - 3.32.2-48
- Fix warnings on double-disposed backgrounds
Resolves: #2116555
* Wed May 11 2022 Phil Wyett <philip.wyett@kathenas.org> - 3.32.2-47
- Restore missing cursor to screencast recordings
Resolves: #1993420