aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/handlers/qquickpointerhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/handlers/qquickpointerhandler.cpp')
-rw-r--r--src/quick/handlers/qquickpointerhandler.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/quick/handlers/qquickpointerhandler.cpp b/src/quick/handlers/qquickpointerhandler.cpp
index 0435c44827..5968f3f848 100644
--- a/src/quick/handlers/qquickpointerhandler.cpp
+++ b/src/quick/handlers/qquickpointerhandler.cpp
@@ -555,7 +555,7 @@ QPointF QQuickPointerHandler::eventPos(const QEventPoint &point) const
*/
bool QQuickPointerHandler::parentContains(const QEventPoint &point) const
{
- return parentContains(point.scenePosition());
+ return parentContains(point.position(), point.scenePosition());
}
/*!
@@ -566,7 +566,7 @@ bool QQuickPointerHandler::parentContains(const QEventPoint &point) const
is not called.) As a precheck, it's also required that the window contains
\a scenePosition mapped to global coordinates, if parentItem() is in a window.
*/
-bool QQuickPointerHandler::parentContains(const QPointF &scenePosition) const
+bool QQuickPointerHandler::parentContains(const QPointF &localPosition, const QPointF &scenePosition) const
{
if (QQuickItem *par = parentItem()) {
if (par->window()) {
@@ -577,11 +577,11 @@ bool QQuickPointerHandler::parentContains(const QPointF &scenePosition) const
if (!windowGeometry.contains(screenPosition))
return false;
}
- QPointF p = par->mapFromScene(scenePosition);
qreal m = margin();
if (m > 0)
- return p.x() >= -m && p.y() >= -m && p.x() <= par->width() + m && p.y() <= par->height() + m;
- return par->contains(p);
+ return localPosition.x() >= -m && localPosition.y() >= -m &&
+ localPosition.x() <= par->width() + m && localPosition.y() <= par->height() + m;
+ return par->contains(localPosition);
} else if (parent() && parent()->inherits("QQuick3DModel")) {
// If the parent is from Qt Quick 3D, assume that
// bounds checking was already done, as part of picking.