summaryrefslogtreecommitdiffstats
path: root/src/input
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2016-07-12 10:15:30 +0200
committerSean Harmer <sean.harmer@kdab.com>2016-07-19 07:03:46 +0000
commit7eaf108d53e9d37d214e56218a40220fbca94e43 (patch)
tree5c469af92473995cc35530dfd83c1248c09c18f0 /src/input
parentbd02208b69b417e0d84109bb36ace59a09cf37ad (diff)
MouseDevice: do not reset the MouseState if we have not received events
Only reset the axes but keep the old button state for the buttons as having no new events means the state hasn't changed since the last frame. Change-Id: I8de6e1cd0a42ac3d70228876032ed9fb98e2e979 Task-number: QTBUG-54706 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/input')
-rw-r--r--src/input/backend/mousedevice.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/input/backend/mousedevice.cpp b/src/input/backend/mousedevice.cpp
index 09ab677f3..e53078cb0 100644
--- a/src/input/backend/mousedevice.cpp
+++ b/src/input/backend/mousedevice.cpp
@@ -107,11 +107,11 @@ bool MouseDevice::isButtonPressed(int buttonIdentifier) const
void MouseDevice::updateMouseEvents(const QList<QT_PREPEND_NAMESPACE(QMouseEvent)> &events)
{
- if (!events.isEmpty()) {
- // Reset axis values before we accumulate new values for this frame
- m_mouseState.xAxis = 0.0f;
- m_mouseState.yAxis = 0.0f;
+ // Reset axis values before we accumulate new values for this frame
+ m_mouseState.xAxis = 0.0f;
+ m_mouseState.yAxis = 0.0f;
+ if (!events.isEmpty()) {
for (const QT_PREPEND_NAMESPACE(QMouseEvent) &e : events) {
m_mouseState.leftPressed = e.buttons() & (Qt::LeftButton);
m_mouseState.centerPressed = e.buttons() & (Qt::MiddleButton);
@@ -124,8 +124,6 @@ void MouseDevice::updateMouseEvents(const QList<QT_PREPEND_NAMESPACE(QMouseEvent
m_wasPressed = pressed;
m_previousPos = e.screenPos();
}
- } else {
- m_mouseState = MouseState();
}
}