diff options
Diffstat (limited to 'src/gui/kernel/qevent.cpp')
-rw-r--r-- | src/gui/kernel/qevent.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index c77a6b23c6..0284dc2098 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -350,6 +350,12 @@ QSinglePointEvent::QSinglePointEvent(QEvent::Type type, const QPointingDevice *d m_reserved(0) { QMutableEventPoint &mut = QMutableEventPoint::from(m_point); + if (button == Qt::NoButton) + mut.setState(QEventPoint::State::Updated); // stationary only happens with touch events, not single-point events + else if ((button | buttons) == buttons) + mut.setState(QEventPoint::State::Pressed); + else + mut.setState(QEventPoint::State::Released); mut.setPosition(localPos); mut.setScenePosition(scenePos); mut.setGlobalPosition(globalPos); |