diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp index 5023fb0f013..c21883b2299 100644 --- a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp +++ b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp @@ -128,6 +128,13 @@ void Edit3DView::renderImage3DChanged(const QImage &img) void Edit3DView::updateActiveScene3D(const QVariantMap &sceneState) { + const QString mouseCursorKey = QStringLiteral("mouseCursor"); + if (sceneState.contains(mouseCursorKey)) { + setMouseCursor(sceneState[mouseCursorKey].toInt()); + // Mouse cursor state is always reported separately, as we never want to persist this state + return; + } + const QString activeViewportKey = QStringLiteral("activeViewport"); if (sceneState.contains(activeViewportKey)) { setActiveViewport(sceneState[activeViewportKey].toInt()); @@ -139,15 +146,6 @@ void Edit3DView::updateActiveScene3D(const QVariantMap &sceneState) setActiveViewport(0); } - const QString mouseCursorKey = QStringLiteral("mouseCursor"); - if (sceneState.contains(mouseCursorKey)) { - setMouseCursor(sceneState[mouseCursorKey].toInt()); - if (sceneState.size() == 1) - return; - } else { - setMouseCursor(-1); - } - const QString sceneKey = QStringLiteral("sceneInstanceId"); const QString selectKey = QStringLiteral("selectionMode"); const QString transformKey = QStringLiteral("transformMode");