aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@qt.io>2022-01-31 14:17:12 +0100
committerChristian Strømme <christian.stromme@qt.io>2022-01-31 16:04:12 +0000
commit4a0c6f1e787c8ba2e1d46ecd155f3817ccc93802 (patch)
treee054836728882f9205e4a699f4c43dbfa40b5a52
parent25fa5540ea8601cdf5fe1e841d940aff8483ad3f (diff)
Fix invalid usage of temporary data
Make sure the return value stays valid in the scope we're using it in. Change-Id: Ifa8a7ef88c9189ba90f5adb699b284f381a59488 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp
index a4e950b238..cee091531a 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp
@@ -729,7 +729,8 @@ void MouseArea3D::applyFreeRotation(QQuick3DNode *node, const QVector3D &startRo
if (dragVector.length() < 0.001f)
return;
- const float *dataPtr(sceneTransform().data());
+ const auto &transform = sceneTransform();
+ const float *dataPtr(transform.data());
QVector3D xAxis = QVector3D(dataPtr[0], dataPtr[1], dataPtr[2]).normalized();
QVector3D yAxis = QVector3D(dataPtr[4], dataPtr[5], dataPtr[6]).normalized();
QVector3D finalAxis = (dragVector.x() * yAxis + dragVector.y() * xAxis);
@@ -1029,7 +1030,8 @@ void MouseArea3D::setHovering(bool enable)
QVector3D MouseArea3D::getNormal() const
{
- const float *dataPtr(sceneTransform().data());
+ const auto &transform = sceneTransform();
+ const float *dataPtr(transform.data());
return QVector3D(dataPtr[8], dataPtr[9], dataPtr[10]).normalized();
}