aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickwindow.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2017-09-26 14:14:26 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2017-10-17 12:30:29 +0000
commit32b73196594ade358e7b419b0a7563abcfe7266e (patch)
tree52c697cb9073bd44b0157b43f83c02a52e1acbea /src/quick/items/qquickwindow.cpp
parent96b2323355a082599b7191f3079e8363bee825e0 (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.cpp10
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;