diff --git a/src/App/ComplexGeoData.h b/src/App/ComplexGeoData.h index d5630c3560..0bacdd6229 100644 --- a/src/App/ComplexGeoData.h +++ b/src/App/ComplexGeoData.h @@ -265,7 +265,10 @@ public: * * @return Returns the existing element map. */ - virtual ElementMapPtr resetElementMap(ElementMapPtr elementMap=ElementMapPtr()) { + virtual ElementMapPtr resetElementMap(ElementMapPtr elementMap=ElementMapPtr(), bool forceEmpty=false) { + if ( ! elementMap && ! forceEmpty ) { + elementMap = std::make_shared(); + } _elementMap.swap(elementMap); return elementMap; } diff --git a/tests/src/App/ComplexGeoData.cpp b/tests/src/App/ComplexGeoData.cpp index 4c344495ea..e7dc527e86 100644 --- a/tests/src/App/ComplexGeoData.cpp +++ b/tests/src/App/ComplexGeoData.cpp @@ -444,7 +444,7 @@ TEST_F(ComplexGeoDataTest, saveDocFileWithNoElementMap) { // Arrange Base::StringWriter writer; - cgd().resetElementMap(); + cgd().resetElementMap(nullptr, true); // Force undefined map // Act cgd().SaveDocFile(writer);