From af7d7497b5f443cf294a92b322f3bc8e4b7fde62 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Thu, 14 Jul 2022 15:03:24 +0200 Subject: [PATCH 1/4] Rebuild (qt5) --- plasma-workspace.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plasma-workspace.spec b/plasma-workspace.spec index ac9535c..896362e 100644 --- a/plasma-workspace.spec +++ b/plasma-workspace.spec @@ -28,7 +28,7 @@ Name: plasma-workspace Summary: Plasma workspace, applications and applets Version: 5.25.3.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ URL: https://invent.kde.org/plasma/%{name} @@ -118,7 +118,7 @@ BuildRequires: kf5-prison-devel BuildRequires: qt5-qtbase-devel >= 5.15 BuildRequires: qt5-qtbase-private-devel -%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} + BuildRequires: qt5-qtx11extras-devel BuildRequires: qt5-qtscript-devel BuildRequires: qt5-qtdeclarative-devel @@ -771,6 +771,9 @@ fi %changelog +* Thu Jul 14 2022 Jan Grulich - 5.25.3.1-2 +- Rebuild (qt5) + * Tue Jul 12 2022 Marc Deop - 5.25.3.1-1 - 5.25.3.1 From 229e09386f7fa682832aad1eb22509f3178617a1 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Wed, 20 Jul 2022 09:54:36 +0200 Subject: [PATCH 2/4] Disable toplevel fixed positions on Wayland --- ...-toplevel-fixed-positions-on-wayland.patch | 69 +++++++++++++++++++ plasma-workspace.spec | 7 +- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 disable-toplevel-fixed-positions-on-wayland.patch diff --git a/disable-toplevel-fixed-positions-on-wayland.patch b/disable-toplevel-fixed-positions-on-wayland.patch new file mode 100644 index 0000000..9de628e --- /dev/null +++ b/disable-toplevel-fixed-positions-on-wayland.patch @@ -0,0 +1,69 @@ +From 1be046edd455969b74417ded6871d25eba8a1112 Mon Sep 17 00:00:00 2001 +From: David Edmundson +Date: Mon, 27 Jun 2022 17:12:09 +0200 +Subject: [PATCH] Disable toplevel fixed positions on Wayland + +Given that the wayland protocol does not have window positions a recent +change to Qt development branch avoids having a mismatch of positions +and tells client code the window is at the topleft of the screen. This +fixes multiple bugs. + +Unfortuantely this breaks a few usages within plasma where a +side-channel sends that absolute positional information over a bespoke +protocol. Currently we proxy this all through QWindow geometry where the +new Qt behaviour will throw is askew. + +Whilst our longterm plans are to find future options away from the +plasmashell protocol we may as well have our Qt6 +build work given the patch is trivial and harmless. + +It also allows for potential backporting if our software is +already secured against issues. +--- + krunner/main.cpp | 2 ++ + shell/main.cpp | 3 +++ + 2 files changed, 5 insertions(+) + +diff --git a/krunner/main.cpp b/krunner/main.cpp +index a05402a01..f19382cad 100644 +--- a/krunner/main.cpp ++++ b/krunner/main.cpp +@@ -34,6 +34,7 @@ int main(int argc, char **argv) + QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling); + } + ++ qputenv("QT_WAYLAND_DISABLE_FIXED_POSITIONS", {}); + const bool qpaVariable = qEnvironmentVariableIsSet("QT_QPA_PLATFORM"); + KWorkSpace::detectPlatform(argc, argv); + QQuickWindow::setDefaultAlphaBuffer(true); +@@ -42,6 +43,7 @@ int main(int argc, char **argv) + // don't leak the env variable to processes we start + qunsetenv("QT_QPA_PLATFORM"); + } ++ qunsetenv("QT_WAYLAND_DISABLE_FIXED_POSITIONS"); + KLocalizedString::setApplicationDomain("krunner"); + + // TODO: Make it a QGuiApplication once we don't depend on KDELibs4Support +diff --git a/shell/main.cpp b/shell/main.cpp +index 26e4ecede..147483df4 100644 +--- a/shell/main.cpp ++++ b/shell/main.cpp +@@ -79,6 +79,7 @@ int main(int argc, char *argv[]) + + oldCategoryFilter = QLoggingCategory::installFilter(filterConnectionSyntaxWarning); + ++ qputenv("QT_WAYLAND_DISABLE_FIXED_POSITIONS", {}); + const bool qpaVariable = qEnvironmentVariableIsSet("QT_QPA_PLATFORM"); + KWorkSpace::detectPlatform(argc, argv); + QApplication app(argc, argv); +@@ -86,6 +87,8 @@ int main(int argc, char *argv[]) + // don't leak the env variable to processes we start + qunsetenv("QT_QPA_PLATFORM"); + } ++ qunsetenv("QT_WAYLAND_DISABLE_FIXED_POSITIONS"); ++ + KLocalizedString::setApplicationDomain("plasmashell"); + + // The executable's path is added to the library/plugin paths. +-- +GitLab diff --git a/plasma-workspace.spec b/plasma-workspace.spec index 896362e..c0418e4 100644 --- a/plasma-workspace.spec +++ b/plasma-workspace.spec @@ -28,7 +28,7 @@ Name: plasma-workspace Summary: Plasma workspace, applications and applets Version: 5.25.3.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ URL: https://invent.kde.org/plasma/%{name} @@ -63,6 +63,8 @@ Source40: ssh-agent.conf Source41: spice-vdagent.conf ## upstream Patches (master branch) +# https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1879 +Patch50: disable-toplevel-fixed-positions-on-wayland.patch ## upstreamable Patches @@ -771,6 +773,9 @@ fi %changelog +* Wed Jul 20 2022 Jan Grulich - 5.25.3.1-3 +- Disable toplevel fixed positions on Wayland + * Thu Jul 14 2022 Jan Grulich - 5.25.3.1-2 - Rebuild (qt5) From 5944a00e98daa605f4991d0b60c828c6e010c3a7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 14:58:51 +0000 Subject: [PATCH 3/4] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- plasma-workspace.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plasma-workspace.spec b/plasma-workspace.spec index c0418e4..50b9360 100644 --- a/plasma-workspace.spec +++ b/plasma-workspace.spec @@ -28,7 +28,7 @@ Name: plasma-workspace Summary: Plasma workspace, applications and applets Version: 5.25.3.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ URL: https://invent.kde.org/plasma/%{name} @@ -773,6 +773,9 @@ fi %changelog +* Fri Jul 22 2022 Fedora Release Engineering - 5.25.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jul 20 2022 Jan Grulich - 5.25.3.1-3 - Disable toplevel fixed positions on Wayland From 651498753881aa4548ebdf0c365c6803122e4c04 Mon Sep 17 00:00:00 2001 From: Yaroslav Sidlovsky Date: Sun, 24 Jul 2022 19:11:46 +0300 Subject: [PATCH 4/4] Added patch to fix #457019 --- ...e-to-remove-manually-added-wallpaper.patch | 38 +++++++++++++++++++ plasma-workspace.spec | 8 +++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 plasma-workspace-5.25.3.1-fix-unable-to-remove-manually-added-wallpaper.patch diff --git a/plasma-workspace-5.25.3.1-fix-unable-to-remove-manually-added-wallpaper.patch b/plasma-workspace-5.25.3.1-fix-unable-to-remove-manually-added-wallpaper.patch new file mode 100644 index 0000000..7b92eda --- /dev/null +++ b/plasma-workspace-5.25.3.1-fix-unable-to-remove-manually-added-wallpaper.patch @@ -0,0 +1,38 @@ +From d6d47393bab32dc60b43e0eeac16c035000a0358 Mon Sep 17 00:00:00 2001 +From: Eugene Popov +Date: Sun, 24 Jul 2022 00:18:44 +0000 +Subject: [PATCH] [FIX] Unable to remove manually added wallpaper + +It's not necessary to assign m_removableWallpapers asynchronously, because the value assigned to it doesn't depend on the result of that asynch function. + +!!! This MR is for the Plasma/5.25 branch only and it SHOULD NOT be cherry-picket into the master branch. + +BUG: 457019 +--- + wallpapers/image/plugin/backgroundlistmodel.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/wallpapers/image/plugin/backgroundlistmodel.cpp b/wallpapers/image/plugin/backgroundlistmodel.cpp +index 8c5630712..0b12470a5 100644 +--- a/wallpapers/image/plugin/backgroundlistmodel.cpp ++++ b/wallpapers/image/plugin/backgroundlistmodel.cpp +@@ -107,6 +107,8 @@ void BackgroundListModel::reload(const QStringList &selected) + return; + } + ++ m_removableWallpapers = QSet(selected.constBegin(), selected.constEnd()); ++ + const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("wallpapers/"), QStandardPaths::LocateDirectory); + + BackgroundFinder *finder = new BackgroundFinder(m_wallpaper.data(), dirs); +@@ -117,7 +119,6 @@ void BackgroundListModel::reload(const QStringList &selected) + } + + processPaths(selected + wallpapersFound); +- m_removableWallpapers = QSet(selected.constBegin(), selected.constEnd()); + }); + m_findToken = token; + finder->start(); +-- +GitLab + diff --git a/plasma-workspace.spec b/plasma-workspace.spec index 50b9360..2edb9e4 100644 --- a/plasma-workspace.spec +++ b/plasma-workspace.spec @@ -28,7 +28,7 @@ Name: plasma-workspace Summary: Plasma workspace, applications and applets Version: 5.25.3.1 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2+ URL: https://invent.kde.org/plasma/%{name} @@ -65,6 +65,9 @@ Source41: spice-vdagent.conf ## upstream Patches (master branch) # https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1879 Patch50: disable-toplevel-fixed-positions-on-wayland.patch +# Fix for 457019: Can't remove manually added wallpaper +# (https://bugs.kde.org/show_bug.cgi?id=457019) +Patch60: plasma-workspace-5.25.3.1-fix-unable-to-remove-manually-added-wallpaper.patch ## upstreamable Patches @@ -773,6 +776,9 @@ fi %changelog +* Sun Jul 24 2022 Yaroslav Sidlovsky - 5.25.3.1-5 +- Added patch to fix #457019 + * Fri Jul 22 2022 Fedora Release Engineering - 5.25.3.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild