diff options
| author | Tomi Korpipää <tomi.korpipaa@qt.io> | 2016-06-10 07:12:45 +0300 |
|---|---|---|
| committer | Tomi Korpipää <tomi.korpipaa@qt.io> | 2016-06-10 06:38:38 +0000 |
| commit | d404cc0f77becb3861f0b77c950edda026b51de7 (patch) | |
| tree | d802a8c70ac8d3287560a0fd9e6ea55a8edd4a2b | |
| parent | f13c86d1dec29381995232d905663be061997924 (diff) | |
Fixed selection handle updates after Qt3D signaling change
Change-Id: I311523afb31ca3afcdfe4516d286db1fca20bf63
Reviewed-by: Titta Heikkala <titta.heikkala@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| -rw-r--r-- | editorlib/src/editorscene.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/editorlib/src/editorscene.cpp b/editorlib/src/editorscene.cpp index 36eb751..f5b3696 100644 --- a/editorlib/src/editorscene.cpp +++ b/editorlib/src/editorscene.cpp @@ -1678,17 +1678,24 @@ void EditorScene::createHelperPlane() void EditorScene::setFrameGraphCamera(Qt3DCore::QEntity *cameraEntity) { if (m_renderer) { + Qt3DCore::QTransform *cameraTransform = nullptr; Qt3DRender::QCamera *currentCamera = qobject_cast<Qt3DRender::QCamera *>(m_renderer->camera()); if (currentCamera) { - disconnect(currentCamera, &Qt3DRender::QCamera::viewMatrixChanged, - this, &EditorScene::handleSelectionTransformChange); + cameraTransform = currentCamera->transform(); + if (cameraTransform) { + disconnect(cameraTransform, &Qt3DCore::QTransform::matrixChanged, + this, &EditorScene::handleSelectionTransformChange); + } } m_renderer->setCamera(cameraEntity); currentCamera = qobject_cast<Qt3DRender::QCamera *>(cameraEntity); - if (cameraEntity) { - connect(currentCamera, &Qt3DRender::QCamera::viewMatrixChanged, - this, &EditorScene::handleSelectionTransformChange); + if (currentCamera) { + cameraTransform = currentCamera->transform(); + if (cameraTransform) { + connect(cameraTransform, &Qt3DCore::QTransform::matrixChanged, + this, &EditorScene::handleSelectionTransformChange); + } } // This will update drag handle positions if needed handleSelectionTransformChange(); @@ -2068,14 +2075,14 @@ void EditorScene::handleSelectionTransformChange() emit repositionDragHandle(DragRotate, QPoint(rotateHandlePos.x(), rotateHandlePos.y()), m_dragHandlesTransform->isEnabled() ? m_dragHandleRotateTransform->isEnabled() - && rotateHandlePos.z() > 0.0f : false, 0); + && rotateHandlePos.z() > 0.0f : false, 0); for (int i = 0; i < dragCornerHandleCount; i++) { emit repositionDragHandle(DragScale, QPoint(cornerHandlePositions[i].x(), cornerHandlePositions[i].y()), m_dragHandlesTransform->isEnabled() ? m_dragHandleScaleTransforms.at(0)->isEnabled() - && cornerHandlePositions[i].z() > 0.0f : false, i); + && cornerHandlePositions[i].z() > 0.0f : false, i); } emit endDragHandlesRepositioning(); } |
