diff options
Diffstat (limited to 'source/kde/kde/patch/plasma-workspace')
-rw-r--r-- | source/kde/kde/patch/plasma-workspace/70d23b89.patch | 52 | ||||
-rw-r--r-- | source/kde/kde/patch/plasma-workspace/926f864756e5586f38574c166abdb5befa3dc771.patch | 38 |
2 files changed, 90 insertions, 0 deletions
diff --git a/source/kde/kde/patch/plasma-workspace/70d23b89.patch b/source/kde/kde/patch/plasma-workspace/70d23b89.patch new file mode 100644 index 000000000..2d9c2a0f8 --- /dev/null +++ b/source/kde/kde/patch/plasma-workspace/70d23b89.patch @@ -0,0 +1,52 @@ +From 70d23b891e95bc6911389773f320a4406a12bd87 Mon Sep 17 00:00:00 2001 +From: Lufan Zhong <lufanzhong@gmail.com> +Date: Sun, 26 Dec 2021 19:33:09 +0000 +Subject: [PATCH] runners/shell: Port from KToolInvocation::invokeTerminal to + KTerminalLauncherJob + +kinit is being deprecated; this change will allow it to open a terminal and execute +commands normally without kinit being present. + +BUG: 437131 +FIXED-IN: 5.24 +--- + runners/shell/shellrunner.cpp | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/runners/shell/shellrunner.cpp b/runners/shell/shellrunner.cpp +index 03b54e1f1..be4058acf 100644 +--- a/runners/shell/shellrunner.cpp ++++ b/runners/shell/shellrunner.cpp +@@ -12,8 +12,9 @@ + #include <KLocalizedString> + #include <KNotificationJobUiDelegate> + #include <KShell> +-#include <KToolInvocation> ++#include <KTerminalLauncherJob> + #include <QAction> ++#include <QProcessEnvironment> + #include <QRegularExpression> + #include <QStandardPaths> + +@@ -62,7 +63,17 @@ void ShellRunner::run(const Plasma::RunnerContext &context, const Plasma::QueryM + { + if (match.selectedAction()) { + const QVariantList data = match.data().toList(); +- KToolInvocation::invokeTerminal(data.at(0).toString(), data.at(1).toStringList()); ++ const QStringList list = data.at(1).toStringList(); ++ QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); ++ for (const auto& str : list) ++ { ++ const int pos = str.indexOf('='); ++ env.insert(str.left(pos), str.mid(pos+1)); ++ } ++ auto job = new KTerminalLauncherJob(data.at(0).toString()); ++ job->setProcessEnvironment(env); ++ job->setUiDelegate(new KNotificationJobUiDelegate(KJobUiDelegate::AutoHandlingEnabled)); ++ job->start(); + return; + } + +-- +GitLab + diff --git a/source/kde/kde/patch/plasma-workspace/926f864756e5586f38574c166abdb5befa3dc771.patch b/source/kde/kde/patch/plasma-workspace/926f864756e5586f38574c166abdb5befa3dc771.patch new file mode 100644 index 000000000..4c30b8dec --- /dev/null +++ b/source/kde/kde/patch/plasma-workspace/926f864756e5586f38574c166abdb5befa3dc771.patch @@ -0,0 +1,38 @@ +From 926f864756e5586f38574c166abdb5befa3dc771 Mon Sep 17 00:00:00 2001 +From: David Edmundson <kde@davidedmundson.co.uk> +Date: Wed, 8 Dec 2021 13:08:43 +0000 +Subject: [PATCH] [libtaskmanager] Increase buffer for pipewire format + negotiation + +Libtaskmanager's buffer for spa_builder is too small on certain +configurations. Because podBuilder->state.offset is never reset, the +buffer space can run out when EGL returns a long list of dma_buf +modifiers, causing PipeWire negotiation to fail. + +An example is when EGL returns 20 modifiers. There are 6 formats defined +in pipewiresourcestream.cpp, for each format it will construct 2 frames, +one with 21*8=168 bytes long of modifiers. The modifier lists for all +frames will be 6*168=1008 bytes (only 16 bytes left of 1024 bytes), let +alone other frames. + +BUG: 446061 +--- + libtaskmanager/declarative/pipewiresourcestream.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libtaskmanager/declarative/pipewiresourcestream.cpp b/libtaskmanager/declarative/pipewiresourcestream.cpp +index a6713ae76..f1d3032a5 100644 +--- a/libtaskmanager/declarative/pipewiresourcestream.cpp ++++ b/libtaskmanager/declarative/pipewiresourcestream.cpp +@@ -260,7 +260,7 @@ bool PipeWireSourceStream::createStream(uint nodeid) + pwNodeId = nodeid; + pw_stream_add_listener(pwStream, &streamListener, &pwStreamEvents, this); + +- uint8_t buffer[1024]; ++ uint8_t buffer[4096]; + spa_pod_builder podBuilder = SPA_POD_BUILDER_INIT(buffer, sizeof(buffer)); + + const QVector<spa_video_format> formats = +-- +GitLab + |