diff options
-rw-r--r-- | src/gui/kernel/qevent.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 4e6de35c94..db4e2624fa 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -2829,6 +2829,19 @@ QNativeGestureEvent::QNativeGestureEvent(Qt::NativeGestureType type, const QPoin m_sequenceId(sequenceId), m_deltas(deltas), m_realValue(value), m_gestureType(type), m_fingerCount(fingerCount) { Q_ASSERT(fingerCount < 16); // we store it in 4 bits unsigned + + // make correction to QEventPoint::state(): the QSinglePointEvent ctor doesn't get gesture type, defaults to Updated + auto &pt = QMutableEventPoint::from(m_points.first()); + switch (type) { + case Qt::BeginNativeGesture: + pt.setState(QEventPoint::State::Pressed); + break; + case Qt::EndNativeGesture: + pt.setState(QEventPoint::State::Released); + break; + default: + break; + } } QNativeGestureEvent::~QNativeGestureEvent() = default; |