summaryrefslogtreecommitdiff
path: root/kde-frameworks/kio/files/kio-5.88.0-fix-KRun-open-URLs-twice.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kde-frameworks/kio/files/kio-5.88.0-fix-KRun-open-URLs-twice.patch')
-rw-r--r--kde-frameworks/kio/files/kio-5.88.0-fix-KRun-open-URLs-twice.patch87
1 files changed, 0 insertions, 87 deletions
diff --git a/kde-frameworks/kio/files/kio-5.88.0-fix-KRun-open-URLs-twice.patch b/kde-frameworks/kio/files/kio-5.88.0-fix-KRun-open-URLs-twice.patch
deleted file mode 100644
index 0d3bf2aeca3a..000000000000
--- a/kde-frameworks/kio/files/kio-5.88.0-fix-KRun-open-URLs-twice.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 25f3a6937a80f2748790265b9b688d64126e43d0 Mon Sep 17 00:00:00 2001
-From: Aleix Pol <aleixpol@kde.org>
-Date: Tue, 30 Nov 2021 17:33:18 +0100
-Subject: [PATCH] Fix KRun::runApplication when xdg activation is involved
-
-Has waitForStarted account for xdg activation token request.
-
-BUG: 446272
----
- src/gui/kprocessrunner.cpp | 13 ++++++++++---
- src/gui/kprocessrunner_p.h | 1 +
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/src/gui/kprocessrunner.cpp b/src/gui/kprocessrunner.cpp
-index 130dade75..82c959afe 100644
---- a/src/gui/kprocessrunner.cpp
-+++ b/src/gui/kprocessrunner.cpp
-@@ -32,6 +32,7 @@
- #include <QProcess>
- #include <QStandardPaths>
- #include <QString>
-+#include <QTimer>
- #include <QUuid>
-
- #ifdef Q_OS_WIN
-@@ -259,7 +260,6 @@ void KProcessRunner::init(const KService::Ptr &service,
- Q_UNUSED(iconName);
- #endif
-
-- bool waitingForXdgToken = false;
- if (KWindowSystem::isPlatformWayland()) {
- if (!asn.isEmpty()) {
- m_process->setEnv(QStringLiteral("XDG_ACTIVATION_TOKEN"), QString::fromUtf8(asn));
-@@ -274,7 +274,7 @@ void KProcessRunner::init(const KService::Ptr &service,
- }
- if (window) {
- const int launchedSerial = KWindowSystem::lastInputSerial(window);
-- waitingForXdgToken = true;
-+ m_waitingForXdgToken = true;
- connect(this, &KProcessRunner::xdgActivationTokenArrived, m_process.get(), [this] {
- startProcess();
- });
-@@ -285,6 +285,7 @@ void KProcessRunner::init(const KService::Ptr &service,
- if (tokenSerial == launchedSerial) {
- m_process->setEnv(QStringLiteral("XDG_ACTIVATION_TOKEN"), token);
- Q_EMIT xdgActivationTokenArrived();
-+ m_waitingForXdgToken = false;
- }
- });
- KWindowSystem::requestXdgActivationToken(window, launchedSerial, QFileInfo(m_serviceEntryPath).completeBaseName());
-@@ -316,7 +317,7 @@ void KProcessRunner::init(const KService::Ptr &service,
- m_description = userVisibleName;
- }
-
-- if (!waitingForXdgToken) {
-+ if (!m_waitingForXdgToken) {
- startProcess();
- }
- }
-@@ -331,6 +332,12 @@ void ForkingProcessRunner::startProcess()
-
- bool ForkingProcessRunner::waitForStarted(int timeout)
- {
-+ if (m_process->state() == QProcess::NotRunning && m_waitingForXdgToken) {
-+ QEventLoop loop;
-+ QObject::connect(m_process.get(), &QProcess::stateChanged, &loop, &QEventLoop::quit);
-+ QTimer::singleShot(timeout, &loop, &QEventLoop::quit);
-+ loop.exec();
-+ }
- return m_process->waitForStarted(timeout);
- }
-
-diff --git a/src/gui/kprocessrunner_p.h b/src/gui/kprocessrunner_p.h
-index 1f94df7a2..df6f08f64 100644
---- a/src/gui/kprocessrunner_p.h
-+++ b/src/gui/kprocessrunner_p.h
-@@ -140,6 +140,7 @@ protected:
- qint64 m_pid = 0;
- KService::Ptr m_service;
- QString m_serviceEntryPath;
-+ bool m_waitingForXdgToken = false;
-
- private:
- void emitDelayedError(const QString &errorMsg);
---
-GitLab
-