diff options
| author | Shawn Rutledge <shawn.rutledge@qt.io> | 2019-07-04 11:44:52 +0200 |
|---|---|---|
| committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2019-07-05 17:07:59 +0200 |
| commit | 1982d1b1aa55ae44a1a775a5745e5c2f11001398 (patch) | |
| tree | 6052ded3015ae52442b25f547ee1605b73ad770d /src/quick/handlers/qquickpointerdevicehandler.cpp | |
| parent | 9b01e2e5d4b38533f02ba9ba907505e8c341cd0a (diff) | |
Move Event Handler acceptedButtons check back up to QQPDeviceHandler
Reverts what's left of e53510944169ac9f6753e0d14e1b24a24ff7bd9a
(amends 73258eca7ab7e3981d9f4aaa5484020cb67854a0):
MultiPointHandler is not only for touch handling anymore.
DragHandler in particular needs to respect the acceptedButtons property.
Fixes: QTBUG-76875
Fixes: QTBUG-76582
Change-Id: I414e785dd09b297c93e5e9f162be23e4a44eca54
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quick/handlers/qquickpointerdevicehandler.cpp')
| -rw-r--r-- | src/quick/handlers/qquickpointerdevicehandler.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/quick/handlers/qquickpointerdevicehandler.cpp b/src/quick/handlers/qquickpointerdevicehandler.cpp index 096fad2071..246686e4f4 100644 --- a/src/quick/handlers/qquickpointerdevicehandler.cpp +++ b/src/quick/handlers/qquickpointerdevicehandler.cpp @@ -256,6 +256,10 @@ bool QQuickPointerDeviceHandler::wantsPointerEvent(QQuickPointerEvent *event) return false; if (d->acceptedModifiers != Qt::KeyboardModifierMask && event->modifiers() != d->acceptedModifiers) return false; + // HoverHandler sets acceptedButtons to Qt::NoButton to indicate that button state is irrelevant. + if (event->device()->pointerType() != QQuickPointerDevice::Finger && acceptedButtons() != Qt::NoButton && + (event->buttons() & acceptedButtons()) == 0 && (event->button() & acceptedButtons()) == 0) + return false; return true; } |
