summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch')
-rw-r--r--kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch b/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch
new file mode 100644
index 000000000000..9434b0082569
--- /dev/null
+++ b/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch
@@ -0,0 +1,41 @@
+From 32c78782b3061bab2a3b1457133faf77b6d9ed2a Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Mon, 14 Nov 2022 02:57:07 +0100
+Subject: [PATCH] Fix incorrect xsetwacom call
+
+When param is e.g. 'Button 1' the 'Button' and '1' need to be passed as separate arguments
+
+BUG: 454947
+---
+ src/kded/xsetwacomadaptor.cpp | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/src/kded/xsetwacomadaptor.cpp b/src/kded/xsetwacomadaptor.cpp
+index 934fa8b..fc1bcac 100644
+--- a/src/kded/xsetwacomadaptor.cpp
++++ b/src/kded/xsetwacomadaptor.cpp
+@@ -245,10 +245,18 @@ bool XsetwacomAdaptor::setRotation(const QString& value)
+ bool XsetwacomAdaptor::setParameter(const QString &device, const QString &param, const QString &value) const
+ {
+ QProcess setConf;
+- if (!value.isEmpty()) {
+- setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << param << value);
++
++ // https://bugs.kde.org/show_bug.cgi?id=454947
++ static const QRegularExpression buttonWithNumber(QStringLiteral("^Button \\d+$"));
++ if (param.contains(buttonWithNumber)) {
++ const QStringList splitted = param.split(QLatin1Char(' '));
++ setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << splitted[0] << splitted[1] << value);
+ } else {
+- setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << param);
++ if (!value.isEmpty()) {
++ setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << param << value);
++ } else {
++ setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << param);
++ }
+ }
+
+ if (!setConf.waitForStarted() || !setConf.waitForFinished()) {
+--
+GitLab
+