summaryrefslogtreecommitdiffstats
path: root/source/kde/kde/patch/plasma-workspace
diff options
context:
space:
mode:
Diffstat (limited to 'source/kde/kde/patch/plasma-workspace')
-rw-r--r--source/kde/kde/patch/plasma-workspace/70d23b89.patch52
-rw-r--r--source/kde/kde/patch/plasma-workspace/926f864756e5586f38574c166abdb5befa3dc771.patch38
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
+