[arch-commits] Commit in krita/trunk (PKGBUILD krita-qtabletevent.patch)

Antonio Rojas arojas at archlinux.org
Sat Apr 6 10:14:17 UTC 2019


    Date: Saturday, April 6, 2019 @ 10:14:16
  Author: arojas
Revision: 350210

Workaround tablet issues with Qt 5.12 (FS#62222)

Added:
  krita/trunk/krita-qtabletevent.patch
Modified:
  krita/trunk/PKGBUILD

--------------------------+
 PKGBUILD                 |   12 ++++++--
 krita-qtabletevent.patch |   63 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 72 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-04-06 05:58:50 UTC (rev 350209)
+++ PKGBUILD	2019-04-06 10:14:16 UTC (rev 350210)
@@ -2,7 +2,7 @@
 
 pkgname=krita
 pkgver=4.1.8
-pkgrel=1
+pkgrel=2
 pkgdesc="Edit and paint images"
 arch=(x86_64)
 url="https://krita.org"
@@ -14,12 +14,18 @@
             "krita-plugin-gmic: G'MIC plugin" 'python-pyqt5: for the Python plugins' 'libheif: HEIF filter')
 conflicts=(calligra-krita krita-l10n)
 replaces=(calligra-krita krita-l10n)
-source=("https://download.kde.org/stable/krita/$pkgver/$pkgname-$pkgver.tar.gz") # {,.sig})
-sha256sums=('0476c9e2279f0ae690c2ed02e1aa9c3d491943643f9859355a02657318bd5940')
+source=("https://download.kde.org/stable/krita/$pkgver/$pkgname-$pkgver.tar.gz"{,.sig}
+        krita-qtabletevent.patch)
+sha256sums=('0476c9e2279f0ae690c2ed02e1aa9c3d491943643f9859355a02657318bd5940'
+            'SKIP'
+            '28adbd1f2218e7088ca0e4b4e46ae01ab29e21f60289df7a53f18869a3482233')
 validpgpkeys=('05D00A8B73A686789E0A156858B9596C722EA3BD') # Boudewijn Rempt <foundation at krita.org>
 
 prepare() {
   mkdir -p build
+
+  cd $pkgname-$pkgver
+  patch -p1 -i ../krita-qtabletevent.patch # Workaround tablet issues with Qt 5.12 https://cgit.kde.org/krita.git/commit/?id=a3193fe2
 }
 
 build() {

Added: krita-qtabletevent.patch
===================================================================
--- krita-qtabletevent.patch	                        (rev 0)
+++ krita-qtabletevent.patch	2019-04-06 10:14:16 UTC (rev 350210)
@@ -0,0 +1,63 @@
+From a3193fe273c3f2c3b5493f77724a4bc099ae5e36 Mon Sep 17 00:00:00 2001
+From: Dmitry Kazakov <dimula73 at gmail.com>
+Date: Mon, 11 Mar 2019 16:49:31 +0300
+Subject: Add a hacky patch that ensures QTabletEvents to be ignored in
+ distribution builds
+
+If we ensure that all the tablet events are ignored, then Qt
+will always generate synthesized mouse events, avoiding the
+problem of lost Enter/Leave events.
+
+We also mark our own build of Qt about the presence of the fix
+(therefore, it doesn't need this hack).
+---
+ libs/ui/input/kis_input_manager.cpp                | 20 ++++++++++++++++
+
+diff --git a/libs/ui/input/kis_input_manager.cpp b/libs/ui/input/kis_input_manager.cpp
+index 30a4677..d173543 100644
+--- a/libs/ui/input/kis_input_manager.cpp
++++ b/libs/ui/input/kis_input_manager.cpp
+@@ -496,6 +496,13 @@ bool KisInputManager::eventFilterImpl(QEvent * event)
+         //Reset signal compressor to prevent processing events before press late
+         d->resetCompressor();
+         d->eatOneMousePress();
++
++#if defined Q_OS_LINUX && !defined QT_HAS_ENTER_LEAVE_PATCH
++        // remove this hack when this patch is integrated:
++        // https://codereview.qt-project.org/#/c/255384/
++        event->setAccepted(false);
++#endif
++
+         break;
+     }
+     case QEvent::TabletMove: {
+@@ -517,6 +524,12 @@ bool KisInputManager::eventFilterImpl(QEvent * event)
+          */
+         d->blockMouseEvents();
+ 
++#if defined Q_OS_LINUX && !defined QT_HAS_ENTER_LEAVE_PATCH
++        // remove this hack when this patch is integrated:
++        // https://codereview.qt-project.org/#/c/255384/
++        event->setAccepted(false);
++#endif
++
+         break;
+     }
+     case QEvent::TabletRelease: {
+@@ -529,6 +542,13 @@ bool KisInputManager::eventFilterImpl(QEvent * event)
+         retval = d->matcher.buttonReleased(tabletEvent->button(), tabletEvent);
+         retval = true;
+         event->setAccepted(true);
++
++#if defined Q_OS_LINUX && !defined QT_HAS_ENTER_LEAVE_PATCH
++        // remove this hack when this patch is integrated:
++        // https://codereview.qt-project.org/#/c/255384/
++        event->setAccepted(false);
++#endif
++
+         break;
+     }
+ 
+-- 
+cgit v1.1
+



More information about the arch-commits mailing list