summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@qt.io>2016-06-10 07:12:45 +0300
committerTomi Korpipää <tomi.korpipaa@qt.io>2016-06-10 06:38:38 +0000
commitd404cc0f77becb3861f0b77c950edda026b51de7 (patch)
treed802a8c70ac8d3287560a0fd9e6ea55a8edd4a2b
parentf13c86d1dec29381995232d905663be061997924 (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.cpp21
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();
}