commit
31d599d8f0
@ -0,0 +1,69 @@
|
||||
From 1be046edd455969b74417ded6871d25eba8a1112 Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <kde@davidedmundson.co.uk>
|
||||
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
|
@ -0,0 +1,38 @@
|
||||
From d6d47393bab32dc60b43e0eeac16c035000a0358 Mon Sep 17 00:00:00 2001
|
||||
From: Eugene Popov <popov895@ukr.net>
|
||||
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<QString>(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<QString>(selected.constBegin(), selected.constEnd());
|
||||
});
|
||||
m_findToken = token;
|
||||
finder->start();
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in new issue