aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickwindow.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2016-08-01 15:06:04 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2016-08-02 10:36:01 +0000
commit0b73cc36f398aad9001439987c6c969afae6492e (patch)
treeff23cd3d4c1a69201972facbf3601b228a51397e /src/quick/items/qquickwindow.cpp
parente611c00d8c73f0aae77920646db88c09f0f880fa (diff)
QQuickWindowPrivate::deliverMouseEvent: use the event's grabber
A tiny step toward delivery unification: the grabber in the given event (without requiring it to be a mouse event) should be the same as the current mouse grabber. Change-Id: Ice5530d01d999be78b5d10b509f669f247d4bae9 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/quick/items/qquickwindow.cpp')
-rw-r--r--src/quick/items/qquickwindow.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index e08147d7b0..ad174d66ff 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -1651,17 +1651,16 @@ void QQuickWindowPrivate::deliverInitialMousePressEvent(QQuickPointerMouseEvent
void QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent *pointerEvent)
{
Q_Q(QQuickWindow);
-
- lastMousePosition = pointerEvent->point(0)->scenePos();
-
- QQuickItem *mouseGrabberItem = q->mouseGrabberItem();
- if (mouseGrabberItem) {
+ auto point = pointerEvent->point(0);
+ lastMousePosition = point->scenePos();
+ QQuickItem *grabber = point->grabber();
+ if (grabber) {
// send update
- QPointF localPos = mouseGrabberItem->mapFromScene(lastMousePosition);
+ QPointF localPos = grabber->mapFromScene(lastMousePosition);
auto me = pointerEvent->asMouseEvent(localPos);
me->accept();
- q->sendEvent(mouseGrabberItem, me);
- pointerEvent->point(0)->setAccepted(me->isAccepted());
+ q->sendEvent(grabber, me);
+ point->setAccepted(me->isAccepted());
// release event, make sure to ungrab if there still is a grabber
if (me->type() == QEvent::MouseButtonRelease && !me->buttons() && q->mouseGrabberItem())