diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-11-16 15:00:08 +0100 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-11-18 09:53:04 +0100 |
commit | d63ad7efb56452e3ad019c38ddf887ddcc8d338a (patch) | |
tree | d0a4f58cdd05357869ed5f76faa21d7a7a6d76b1 /src/quick/items/qquickmultipointtoucharea.cpp | |
parent | da9b9a4e6e2cddd6dd1dbf2e126fc2d332bc0616 (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.cpp | 14 |
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; |