diff options
Diffstat (limited to 'media-gfx/krita/files/krita-4.1.8-fix-pre-5.12-tablet-support.patch')
-rw-r--r-- | media-gfx/krita/files/krita-4.1.8-fix-pre-5.12-tablet-support.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/media-gfx/krita/files/krita-4.1.8-fix-pre-5.12-tablet-support.patch b/media-gfx/krita/files/krita-4.1.8-fix-pre-5.12-tablet-support.patch new file mode 100644 index 000000000000..2928247e57a0 --- /dev/null +++ b/media-gfx/krita/files/krita-4.1.8-fix-pre-5.12-tablet-support.patch @@ -0,0 +1,49 @@ +From 0218025b1725aa810f108d08802b590ce62f1044 Mon Sep 17 00:00:00 2001 +From: Dmitry Kazakov <dimula73@gmail.com> +Date: Mon, 25 Mar 2019 21:16:41 +0300 +Subject: Add a workaround for Qt 5.9...5.11.X to fix tablet support + +Basically, the patch mimics this Qt's patch that has been +added in Qt 5.12.0 only: +https://codereview.qt-project.org/#/c/239918/ + +BUG:399696 +--- + libs/ui/input/kis_input_manager_p.cpp | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/libs/ui/input/kis_input_manager_p.cpp b/libs/ui/input/kis_input_manager_p.cpp +index 4f5a58f..0a26655 100644 +--- a/libs/ui/input/kis_input_manager_p.cpp ++++ b/libs/ui/input/kis_input_manager_p.cpp +@@ -333,6 +333,28 @@ KisInputManager::Private::ProximityNotifier::ProximityNotifier(KisInputManager:: + + bool KisInputManager::Private::ProximityNotifier::eventFilter(QObject* object, QEvent* event ) + { ++ /** ++ * All Qt builds in range 5.7.0...5.11.X on X11 had a problem that made all ++ * the tablet events be accepted by default. It meant that no mouse ++ * events were synthesized, and, therefore, no Enter/Leave were generated. ++ * ++ * The fix for this bug has been added only in Qt 5.12.0: ++ * https://codereview.qt-project.org/#/c/239918/ ++ * ++ * To avoid this problem we should explicitly ignore all the tablet events. ++ */ ++#if defined Q_OS_LINUX && \ ++ QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) && \ ++ QT_VERSION < QT_VERSION_CHECK(5, 12, 0) ++ ++ if (event->type() == QEvent::TabletMove || ++ event->type() == QEvent::TabletPress || ++ event->type() == QEvent::TabletRelease) { ++ ++ event->ignore(); ++ } ++#endif ++ + switch (event->type()) { + case QEvent::TabletEnterProximity: + d->debugEvent<QEvent, false>(event); +-- +cgit v1.1 |