diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-01-20 11:14:50 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-02-09 20:23:08 +0000 |
commit | 02f430462b4e9256b6ae021e3d415c0d2180404d (patch) | |
tree | bef1990dfde573b31dd5cfc871c009ae9ceb24e7 /src/quick/items/qquickwindow.cpp | |
parent | a3750f4f1b67302cb850addcc08c516a2baa5803 (diff) |
check allowChildEventFiltering inside QQWPriv::sendFilteredPointerEvent
It turns out that we always have to check the allowed flag before
doing it, so this will remove some code duplication (especially given
that we'll soon need to call it from more places).
Change-Id: Idfb7bf9487d8de200cbdb3f47b82df754137aa12
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quick/items/qquickwindow.cpp')
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index ddd0336fc2..fc53420cdd 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -1654,10 +1654,8 @@ void QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent *pointerEven if (point->grabber()) { bool mouseIsReleased = (point->state() == QQuickEventPoint::Released && pointerEvent->buttons() == Qt::NoButton); if (auto grabber = point->grabberItem()) { - if (allowChildEventFiltering) { - if (sendFilteredPointerEvent(pointerEvent, grabber)) - return; - } + if (sendFilteredPointerEvent(pointerEvent, grabber)) + return; // if the grabber is an Item: // if the update consists of changing button state, don't accept it unless // the button is one in which the grabber is interested @@ -2279,7 +2277,7 @@ bool QQuickWindowPrivate::deliverUpdatedTouchPoints(QQuickPointerTouchEvent *eve // The grabber is not an item? It's a handler then. Let it have the event first. QQuickPointerHandler *handler = static_cast<QQuickPointerHandler *>(grabber); receiver = static_cast<QQuickPointerHandler *>(grabber)->parentItem(); - if (allowChildEventFiltering && sendFilteredPointerEvent(event, receiver)) + if (sendFilteredPointerEvent(event, receiver)) return true; event->localize(receiver); handler->handlePointerEvent(event); @@ -2725,6 +2723,8 @@ void QQuickWindowPrivate::updateFilteringParentItems(const QVector<QQuickItem *> bool QQuickWindowPrivate::sendFilteredPointerEvent(QQuickPointerEvent *event, QQuickItem *receiver) { + if (!allowChildEventFiltering) + return false; bool ret = false; if (QQuickPointerMouseEvent *pme = event->asPointerMouseEvent()) { for (QPair<QQuickItem *,QQuickItem *> itemAndParent : filteringParentItems) { |