diff options
-rw-r--r-- | editorlib/src/editorscene.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/editorlib/src/editorscene.cpp b/editorlib/src/editorscene.cpp index d4ca572..789bb75 100644 --- a/editorlib/src/editorscene.cpp +++ b/editorlib/src/editorscene.cpp @@ -276,10 +276,16 @@ void EditorScene::resetScene() bool EditorScene::saveScene(const QUrl &fileUrl, bool autosave) { + QUrl url = fileUrl; + if (!url.toString().endsWith(QStringLiteral(".qt3d.qrc"))) { + QString filePath = url.toString() + QStringLiteral(".qt3d.qrc"); + url.setUrl(filePath); + } + Qt3DCore::QEntity *camera = nullptr; if (m_activeSceneCameraIndex >= 0 && m_activeSceneCameraIndex < m_sceneCameras.size()) camera = m_sceneCameras.at(m_activeSceneCameraIndex).cameraEntity; - bool retval = m_sceneParser->exportQmlScene(m_sceneEntity, fileUrl, camera, autosave); + bool retval = m_sceneParser->exportQmlScene(m_sceneEntity, url, camera, autosave); if (retval) m_undoHandler->setClean(); else |