diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 53e40b5bd3..84441e78c7 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2337,7 +2337,8 @@ bool Application::exportEntities(const QString& filename, const QVector entities; auto entityTree = _entities.getTree(); - EntityTree exportTree; + auto exportTree = std::make_shared(); + exportTree->createRootElement(); glm::vec3 root(TREE_SCALE, TREE_SCALE, TREE_SCALE); for (auto entityID : entityIDs) { @@ -2364,10 +2365,10 @@ bool Application::exportEntities(const QString& filename, const QVectorgetProperties(); properties.setPosition(properties.getPosition() - root); - exportTree.addEntity(entityItem->getEntityItemID(), properties); + exportTree->addEntity(entityItem->getEntityItemID(), properties); } - exportTree.writeToJSONFile(filename.toLocal8Bit().constData()); + exportTree->writeToJSONFile(filename.toLocal8Bit().constData()); // restore the main window's active state _window->activateWindow(); @@ -2380,15 +2381,16 @@ bool Application::exportEntities(const QString& filename, float x, float y, floa if (entities.size() > 0) { glm::vec3 root(x, y, z); - EntityTree exportTree; + auto exportTree = std::make_shared(); + exportTree->createRootElement(); for (int i = 0; i < entities.size(); i++) { EntityItemProperties properties = entities.at(i)->getProperties(); EntityItemID id = entities.at(i)->getEntityItemID(); properties.setPosition(properties.getPosition() - root); - exportTree.addEntity(id, properties); + exportTree->addEntity(id, properties); } - exportTree.writeToSVOFile(filename.toLocal8Bit().constData()); + exportTree->writeToSVOFile(filename.toLocal8Bit().constData()); } else { qCDebug(interfaceapp) << "No models were selected"; return false;