diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-07-01 17:36:29 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2016-07-11 13:46:11 +0000 |
commit | e352fd967a4cdc9ab2ed8633733d59d64cf8134a (patch) | |
tree | b0343dcb17bc605f244aabd927a45ccb9a03a7d8 /src/quick/items/qquickitem.cpp | |
parent | c3105b42aa286421fb7998a4b013f53ca5624a5f (diff) |
Move implementation of grabTouchPoints to QQuickWindowPrivate
QQuickItem should not be directly manipulating QQuickWindowPrivate's
variables.
Change-Id: I5ff11550351398247dacf14447fb6c897b2dd0aa
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/quick/items/qquickitem.cpp')
-rw-r--r-- | src/quick/items/qquickitem.cpp | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 56426fbe37..79ddd449f5 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -7219,27 +7219,7 @@ void QQuickItem::grabTouchPoints(const QVector<int> &ids) if (!d->window) return; QQuickWindowPrivate *windowPriv = QQuickWindowPrivate::get(d->window); - - QSet<QQuickItem*> ungrab; - for (int i = 0; i < ids.count(); ++i) { - QQuickItem *oldGrabber = windowPriv->itemForTouchPointId.value(ids.at(i)); - if (oldGrabber == this) - return; - - windowPriv->itemForTouchPointId[ids.at(i)] = this; - if (oldGrabber) - ungrab.insert(oldGrabber); - - QQuickItem *mouseGrabber = windowPriv->mouseGrabberItem; - if (windowPriv->touchMouseId == ids.at(i) && mouseGrabber && mouseGrabber != this) { - qCDebug(DBG_MOUSE_TARGET) << "grabTouchPoints: grabber" << windowPriv->mouseGrabberItem << "-> null"; - windowPriv->mouseGrabberItem = 0; - QEvent ev(QEvent::UngrabMouse); - d->window->sendEvent(mouseGrabber, &ev); - } - } - foreach (QQuickItem *oldGrabber, ungrab) - oldGrabber->touchUngrabEvent(); + windowPriv->grabTouchPoints(this, ids); } /*! |