diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-09-26 14:14:26 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-10-17 12:30:29 +0000 |
commit | 32b73196594ade358e7b419b0a7563abcfe7266e (patch) | |
tree | 52c697cb9073bd44b0157b43f83c02a52e1acbea /src/quick/items/qquickwindow.cpp | |
parent | 96b2323355a082599b7191f3079e8363bee825e0 (diff) |
QQuickWindow: if an Item has PointerHandlers it's a delivery target
even if it does not accept mouse or touch itself.
Change-Id: I4f1a05231c0ff1e89b8f7f28f0760b3af49c78a8
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, 6 insertions, 4 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index caa128d6e4..65d69a3bcf 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2301,10 +2301,12 @@ QVector<QQuickItem *> QQuickWindowPrivate::pointerTargets(QQuickItem *item, cons } bool relevant = item->contains(itemPos); - if (relevant && checkMouseButtons && item->acceptedMouseButtons() == Qt::NoButton) - relevant = false; - if (relevant && checkAcceptsTouch && !(item->acceptTouchEvents() || item->acceptedMouseButtons())) - relevant = false; + if (!(itemPrivate->hasPointerHandlers())) { + if (relevant && checkMouseButtons && item->acceptedMouseButtons() == Qt::NoButton) + relevant = false; + if (relevant && checkAcceptsTouch && !(item->acceptTouchEvents() || item->acceptedMouseButtons())) + relevant = false; + } if (relevant) targets << item; // add this item last: children take precedence return targets; |