diff options
Diffstat (limited to 'src/widgets/graphicsview')
-rw-r--r-- | src/widgets/graphicsview/qgraphicsscene.cpp | 4 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsview.cpp | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/widgets/graphicsview/qgraphicsscene.cpp b/src/widgets/graphicsview/qgraphicsscene.cpp index 220221a5e9..f272720150 100644 --- a/src/widgets/graphicsview/qgraphicsscene.cpp +++ b/src/widgets/graphicsview/qgraphicsscene.cpp @@ -5829,8 +5829,10 @@ void QGraphicsScenePrivate::updateTouchPointsForItem(QGraphicsItem *item, QTouch const QTransform mapFromScene = item->d_ptr->genericMapFromSceneTransform(static_cast<const QWidget *>(touchEvent->target())); - for (QEventPoint &pt : QMutableTouchEvent::from(touchEvent)->touchPoints()) + for (int i = 0; i < touchEvent->pointCount(); ++i) { + auto &pt = QMutableEventPoint::from(touchEvent->point(i)); QMutableEventPoint::from(pt).setPosition(mapFromScene.map(pt.scenePosition())); + } } int QGraphicsScenePrivate::findClosestTouchPointId(const QPointF &scenePos) diff --git a/src/widgets/graphicsview/qgraphicsview.cpp b/src/widgets/graphicsview/qgraphicsview.cpp index 83d1259740..1db7bf222d 100644 --- a/src/widgets/graphicsview/qgraphicsview.cpp +++ b/src/widgets/graphicsview/qgraphicsview.cpp @@ -310,7 +310,8 @@ inline int q_round_bound(qreal d) //### (int)(qreal) INT_MAX != INT_MAX for sing void QGraphicsViewPrivate::translateTouchEvent(QGraphicsViewPrivate *d, QTouchEvent *touchEvent) { - for (QEventPoint &pt : QMutableTouchEvent::from(touchEvent)->touchPoints()) { + for (int i = 0; i < touchEvent->pointCount(); ++i) { + auto &pt = touchEvent->point(i); // the scene will set the item local pos, startPos, lastPos, and rect before delivering to // an item, but for now those functions are returning the view's local coordinates QMutableEventPoint::from(pt).setScenePosition(d->mapToScene(pt.position())); |