From 54945d58b3900767522f2625b3ec6a126b7401b3 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 7 Jan 2022 12:38:35 +0100 Subject: [PATCH] QApplication: port manual users of QMutableEventPoint ... to new static setter API, which doesn't depend on undefined behavior. These users didn't use QMutableEventPoint::from(), but static_cast<>, so they were only found when the non-static setters were removed, locally. Task-number: QTBUG-99615 Pick-to: 6.3 Change-Id: I37faf17b2b180e0f6e8bb4e5f46951a2cc29678d Reviewed-by: Shawn Rutledge --- src/widgets/kernel/qapplication.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index b1ec997e04b..c7a39e8bee1 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -3845,7 +3845,7 @@ QWidget *QApplicationPrivate::findClosestTouchPointTarget(const QPointingDevice if (closestTouchPointId == -1 || distance < closestDistance) { closestTouchPointId = pt.id(); closestDistance = distance; - closestTarget = static_cast(pt).target(); + closestTarget = QMutableEventPoint::target(pt); } } } @@ -4016,7 +4016,7 @@ void QApplicationPrivate::translateTouchCancel(const QPointingDevice *device, ul const QPointingDevicePrivate *devPriv = QPointingDevicePrivate::get(device); for (auto &epd : devPriv->activePoints.values()) { const auto &pt = epd.eventPoint; - QObject *target = static_cast(pt).target(); + QObject *target = QMutableEventPoint::target(pt); if (target && target->isWidgetType()) widgetsNeedingCancel.insert(static_cast(target)); }