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-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 ac9535c..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: 1%{?dist} +Release: 5%{?dist} License: GPLv2+ URL: https://invent.kde.org/plasma/%{name} @@ -63,6 +63,11 @@ 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 +# 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 @@ -118,7 +123,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 +776,18 @@ 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 + +* 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) + * Tue Jul 12 2022 Marc Deop - 5.25.3.1-1 - 5.25.3.1