Salome HOME
Fix omniORB::fatalException at SALOME termination after creating a Mesh in Python
[modules/smesh.git] / src / SMESH_SWIG / smeshBuilder.py
index 994e3f16e108f7a18f330f1fe8b0e6da617b71c2..b82ba1ee5314c27e1d630b45e021985a19ee169c 100644 (file)
@@ -1181,7 +1181,7 @@ class Mesh:
             elif isinstance(obj, SMESH._objref_SMESH_Mesh):
                 self.SetMesh(obj)
         else:
-            self.mesh = self.smeshpyD.CreateEmptyMesh()
+            self.SetMesh( self.smeshpyD.CreateEmptyMesh() )
         if name:
             self.smeshpyD.SetName(self.mesh, name)
         elif objHasName:
@@ -1206,7 +1206,7 @@ class Mesh:
     ## Destructor. Clean-up resources
     def __del__(self):
         if self.mesh:
-            self.mesh.UnRegister()
+            #self.mesh.UnRegister()
             pass
         pass
         
@@ -1214,11 +1214,13 @@ class Mesh:
     #  @param theMesh a SMESH_Mesh object
     #  @ingroup l2_construct
     def SetMesh(self, theMesh):
-        if self.mesh: self.mesh.UnRegister()
+        # do not call Register() as this prevents mesh servant deletion at closing study
+        #if self.mesh: self.mesh.UnRegister()
         self.mesh = theMesh
         if self.mesh:
-            self.mesh.Register()
+            #self.mesh.Register()
             self.geom = self.mesh.GetShapeToMesh()
+        pass
 
     ## Returns the mesh, that is an instance of SMESH_Mesh interface
     #  @return a SMESH_Mesh object