Accepting request 874438 from KDE:Frameworks5

- Add patch to fix krunner crash caused by mismatched quotes:
  * 0001-locations-runner-Fix-empty-list-on-invalid-shell-quo.patch (forwarded request 874437 from Vogtinator)

OBS-URL: https://build.opensuse.org/request/show/874438
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/plasma5-workspace?expand=0&rev=158
This commit is contained in:
Dominique Leuenberger 2021-02-23 19:20:21 +00:00 committed by Git OBS Bridge
commit 06ea9d0db9
5 changed files with 153 additions and 0 deletions

View File

@ -0,0 +1,67 @@
From 74fef0a9973e62df16ff8fc97a795bce1fa2a273 Mon Sep 17 00:00:00 2001
From: David Edmundson <kde@davidedmundson.co.uk>
Date: Tue, 16 Feb 2021 11:27:53 +0000
Subject: [PATCH] [libkworkspace] Interim fix for the logout issue
Calls to a DBus activated service can fail if the sender quits whilst
the service is spawning
(https://gitlab.freedesktop.org/dbus/dbus/-/issues/72) and using
dbus-daemon.
This is a lazy interim fix that just makes these calls block as proper
fixes will require more work.
BUG: 432460
(cherry picked from commit 81d61861608012e4d7a19e6f85b8d136c298f31f)
---
libkworkspace/sessionmanagement.cpp | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libkworkspace/sessionmanagement.cpp b/libkworkspace/sessionmanagement.cpp
index 4b80485cb..3dbe40f0d 100644
--- a/libkworkspace/sessionmanagement.cpp
+++ b/libkworkspace/sessionmanagement.cpp
@@ -130,10 +130,10 @@ void SessionManagement::requestShutdown(ConfirmationMode confirmationMode)
}
if (confirm) {
LogoutPromptIface iface;
- iface.promptShutDown();
+ iface.promptShutDown().waitForFinished();
} else {
ShutdownIface iface;
- iface.logoutAndShutdown();
+ iface.logoutAndShutdown().waitForFinished();
}
}
@@ -148,10 +148,10 @@ void SessionManagement::requestReboot(ConfirmationMode confirmationMode)
}
if (confirm) {
LogoutPromptIface iface;
- iface.promptReboot();
+ iface.promptReboot().waitForFinished();
} else {
ShutdownIface iface;
- iface.logoutAndReboot();
+ iface.logoutAndReboot().waitForFinished();
}
}
@@ -166,10 +166,10 @@ void SessionManagement::requestLogout(ConfirmationMode confirmationMode)
}
if (confirm) {
LogoutPromptIface iface;
- iface.promptLogout();
+ iface.promptLogout().waitForFinished();
} else {
ShutdownIface iface;
- iface.logout();
+ iface.logout().waitForFinished();
}
}
--
2.25.1

View File

@ -0,0 +1,31 @@
From 7070394fb3779032f20b8165de5b5d6b9f104b3a Mon Sep 17 00:00:00 2001
From: Alexander Lohnau <alexander.lohnau@gmx.de>
Date: Wed, 17 Feb 2021 16:23:56 +0100
Subject: [PATCH] locations runner: Fix absolute filepath + arguments
The KUriFilter would interpret this as a path and consequently
produce a result.
BUG: 433053
FIXED-IN: 5.21
---
runners/locations/locationrunner.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/runners/locations/locationrunner.cpp b/runners/locations/locationrunner.cpp
index be1be7e6a..175c07023 100644
--- a/runners/locations/locationrunner.cpp
+++ b/runners/locations/locationrunner.cpp
@@ -52,7 +52,8 @@ LocationsRunner::~LocationsRunner()
void LocationsRunner::match(Plasma::RunnerContext &context)
{
QString term = context.query();
- QFileInfo tmpInfo(KShell::tildeExpand(term));
+ // If we have a query with an executable and optionally arguments, BUG: 433053
+ QFileInfo tmpInfo(KShell::tildeExpand(KShell::splitArgs(term).constFirst()));
if (tmpInfo.isFile() && tmpInfo.isExecutable()) {
return;
}
--
2.25.1

View File

@ -0,0 +1,32 @@
From 3a672ee43f48655ddcb544cc947680ba0aab7d2a Mon Sep 17 00:00:00 2001
From: Alexander Lohnau <alexander.lohnau@gmx.de>
Date: Mon, 22 Feb 2021 18:10:08 +0100
Subject: [PATCH] locations runner: Fix empty list on invalid shell quotes
---
runners/locations/locationrunner.cpp | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/runners/locations/locationrunner.cpp b/runners/locations/locationrunner.cpp
index 175c07023..d1edeef02 100644
--- a/runners/locations/locationrunner.cpp
+++ b/runners/locations/locationrunner.cpp
@@ -53,9 +53,12 @@ void LocationsRunner::match(Plasma::RunnerContext &context)
{
QString term = context.query();
// If we have a query with an executable and optionally arguments, BUG: 433053
- QFileInfo tmpInfo(KShell::tildeExpand(KShell::splitArgs(term).constFirst()));
- if (tmpInfo.isFile() && tmpInfo.isExecutable()) {
- return;
+ const QStringList split = KShell::splitArgs(term);
+ if (!split.isEmpty()) {
+ QFileInfo tmpInfo(KShell::tildeExpand(split.first()));
+ if (tmpInfo.isFile() && tmpInfo.isExecutable()) {
+ return;
+ }
}
// We want to expand ENV variables like $HOME to get the actual path, BUG: 358221
KUriFilter::self()->filterUri(term, {QStringLiteral("kshorturifilter")});
--
2.25.1

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Feb 22 17:53:47 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to fix krunner crash caused by mismatched quotes:
* 0001-locations-runner-Fix-empty-list-on-invalid-shell-quo.patch
-------------------------------------------------------------------
Thu Feb 18 11:18:08 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to fix starting applications with arguments from krunner
(kde#433053):
* 0001-locations-runner-Fix-absolute-filepath-arguments.patch
-------------------------------------------------------------------
Wed Feb 17 13:35:44 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to fix race on logout (kde#432460):
* 0001-libkworkspace-Interim-fix-for-the-logout-issue.patch
-------------------------------------------------------------------
Thu Feb 11 18:23:15 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>

View File

@ -42,6 +42,10 @@ Source1: plasma-workspace-%{version}.tar.xz.sig
Source2: plasma.keyring
%endif
Source3: baselibs.conf
# PATCH-FIX-UPSTREAM
Patch1: 0001-libkworkspace-Interim-fix-for-the-logout-issue.patch
Patch2: 0001-locations-runner-Fix-absolute-filepath-arguments.patch
Patch3: 0001-locations-runner-Fix-empty-list-on-invalid-shell-quo.patch
# PATCHES 501-??? are PATCH-FIX-OPENSUSE
Patch501: 0001-Use-qdbus-qt5.patch
Patch502: 0001-Ignore-default-sddm-face-icons.patch