diff --git a/SpeckleConnector/Connector/Interface/Browser/Bridge/Base/GetDocumentInfo.cpp b/SpeckleConnector/Connector/Interface/Browser/Bridge/Base/GetDocumentInfo.cpp index ab5fc38..726b1bf 100644 --- a/SpeckleConnector/Connector/Interface/Browser/Bridge/Base/GetDocumentInfo.cpp +++ b/SpeckleConnector/Connector/Interface/Browser/Bridge/Base/GetDocumentInfo.cpp @@ -45,6 +45,7 @@ std::unique_ptr GetDocumentInfo::run() const { docInfo->location = *info.path; if (auto cardDatabase = connectorProject->getModelCardDatabase(); cardDatabase != nullptr) docInfo->ID = cardDatabase->getStoreID(); - docInfo->ID = Guid{true}.operator String(); + else + docInfo->ID = Guid{true}.operator String(); return std::make_unique(std::move(docInfo)); } //GetDocumentInfo::run diff --git a/SpeckleLib/Speckle/Database/Storage/DocumentStore/DocumentStoreEngine.h b/SpeckleLib/Speckle/Database/Storage/DocumentStore/DocumentStoreEngine.h index ef91e3e..4e6d684 100644 --- a/SpeckleLib/Speckle/Database/Storage/DocumentStore/DocumentStoreEngine.h +++ b/SpeckleLib/Speckle/Database/Storage/DocumentStore/DocumentStoreEngine.h @@ -180,8 +180,10 @@ namespace speckle::database { //Read the data stored in the document auto storedData = readStore(); m_cache = std::make_unique(); - if (!storedData) + if (!storedData) { + m_cache->setID(speckle::utility::Guid{true}.operator String()); //Needs an ID - used as substitute for the Speckle 'document ID' return m_cache.get(); //Return an empty container if there's no data + } //Import the document data into the record cache if constexpr (std::is_same_v) Transport().receive(std::forward(*m_cache), active::serialise::Identity{}, storedData);