diff --git a/src/3rdParty/salomesmesh/inc/SMESH_Gen.hxx b/src/3rdParty/salomesmesh/inc/SMESH_Gen.hxx index 744b03b7d021..ed1b6be8f58d 100644 --- a/src/3rdParty/salomesmesh/inc/SMESH_Gen.hxx +++ b/src/3rdParty/salomesmesh/inc/SMESH_Gen.hxx @@ -60,8 +60,7 @@ typedef std::set TSetOfInt; class SMESH_EXPORT SMESH_Gen { public: - ~SMESH_Gen(); - + static SMESH_Gen* get(); SMESH_Mesh* CreateMesh(int theStudyId, bool theIsEmbeddedMode) @@ -161,7 +160,9 @@ public: // std::map < int, SMESH_3D_Algo * >_map3D_Algo; protected: + //Generator is designed to be a singleton, hence constructor and destructor are not allowed to be used SMESH_Gen(); + ~SMESH_Gen(); static SMESH_Gen* generator; private: diff --git a/src/Mod/MeshPart/App/Mesher.cpp b/src/Mod/MeshPart/App/Mesher.cpp index 72ef17f97da4..68a508785374 100644 --- a/src/Mod/MeshPart/App/Mesher.cpp +++ b/src/Mod/MeshPart/App/Mesher.cpp @@ -368,8 +368,6 @@ Mesh::MeshObject* Mesher::createMesh() const delete mesh; for (std::list::iterator it = hypoth.begin(); it != hypoth.end(); ++it) delete *it; - - delete meshgen; MeshCore::MeshKernel kernel; kernel.Adopt(verts, faces, true);