mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
64 lines
2.1 KiB
Diff
64 lines
2.1 KiB
Diff
|
From a3193fe273c3f2c3b5493f77724a4bc099ae5e36 Mon Sep 17 00:00:00 2001
|
||
|
From: Dmitry Kazakov <dimula73@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
|
||
|
|