aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmultipointtoucharea.cpp
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2020-11-16 15:00:08 +0100
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-11-18 09:53:04 +0100
commitd63ad7efb56452e3ad019c38ddf887ddcc8d338a (patch)
treed0a4f58cdd05357869ed5f76faa21d7a7a6d76b1 /src/quick/items/qquickmultipointtoucharea.cpp
parentda9b9a4e6e2cddd6dd1dbf2e126fc2d332bc0616 (diff)
Use QMutable*Event classes to copy and synthesize events
QMutableTouch/SinglePointEvent can be publicly copy constructed from their non-mutable counterparts, make use of that. Change-Id: I7f56a9f9649bb7726cca1eaddccfdc3f21d47554 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquickmultipointtoucharea.cpp')
-rw-r--r--src/quick/items/qquickmultipointtoucharea.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/quick/items/qquickmultipointtoucharea.cpp b/src/quick/items/qquickmultipointtoucharea.cpp
index 23cf6c0351..e23e7365df 100644
--- a/src/quick/items/qquickmultipointtoucharea.cpp
+++ b/src/quick/items/qquickmultipointtoucharea.cpp
@@ -908,21 +908,21 @@ bool QQuickMultiPointTouchArea::sendMouseEvent(QMouseEvent *event)
QQuickItem *grabber = c ? c->mouseGrabberItem() : nullptr;
bool stealThisEvent = _stealMouse;
if ((stealThisEvent || contains(localPos)) && (!grabber || !grabber->keepMouseGrab())) {
- QMouseEvent mouseEvent = *event;
- auto mut = QMutableSinglePointEvent::from(&mouseEvent);
- mut->mutablePoint().setPosition(localPos);
- mut->setSource(Qt::MouseEventSynthesizedByQt);
+ QMutableSinglePointEvent mouseEvent(*event);
+ mouseEvent.mutablePoint().setPosition(localPos);
+ mouseEvent.setSource(Qt::MouseEventSynthesizedByQt);
mouseEvent.setAccepted(false);
+ QMouseEvent *pmouseEvent = static_cast<QMouseEvent *>(static_cast<QSinglePointEvent *>(&mouseEvent));
switch (mouseEvent.type()) {
case QEvent::MouseMove:
- mouseMoveEvent(&mouseEvent);
+ mouseMoveEvent(pmouseEvent);
break;
case QEvent::MouseButtonPress:
- mousePressEvent(&mouseEvent);
+ mousePressEvent(pmouseEvent);
break;
case QEvent::MouseButtonRelease:
- mouseReleaseEvent(&mouseEvent);
+ mouseReleaseEvent(pmouseEvent);
break;
default:
break;