From 38142510203cc53d2d03ac258f425387c4ff29ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Sun, 12 Jun 2016 20:13:37 +0200 Subject: [PATCH] SMESH: Prevent generator from being deleted --- src/3rdParty/salomesmesh/inc/SMESH_Gen.hxx | 5 +++-- src/Mod/MeshPart/App/Mesher.cpp | 2 -- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/3rdParty/salomesmesh/inc/SMESH_Gen.hxx b/src/3rdParty/salomesmesh/inc/SMESH_Gen.hxx index 744b03b7d..ed1b6be8f 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 72ef17f97..68a508785 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);