X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FStdMeshers_I%2FStdMeshers_LayerDistribution_i.cxx;h=0d4381be1ac1aec28b2115d61394e182d53b69c0;hb=20c126bc220757c06b5576f71ed6f34ae85e3e40;hp=e162f22aa32c593f1e684866a137b9f53e1354f6;hpb=d4a710ce52f6e76786a7b3845e2f7975dc9a00b1;p=modules%2Fsmesh.git diff --git a/src/StdMeshers_I/StdMeshers_LayerDistribution_i.cxx b/src/StdMeshers_I/StdMeshers_LayerDistribution_i.cxx index e162f22aa..0d4381be1 100644 --- a/src/StdMeshers_I/StdMeshers_LayerDistribution_i.cxx +++ b/src/StdMeshers_I/StdMeshers_LayerDistribution_i.cxx @@ -88,11 +88,16 @@ void StdMeshers_LayerDistribution_i::SetLayerDistribution(SMESH::SMESH_Hypothesi this->GetImpl()->SetLayerDistribution( hyp_i->GetImpl() ); myHyp = SMESH::SMESH_Hypothesis::_duplicate( hyp1D ); // Remove SO of 1D hypothesis if it was published - if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen()) { + if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen()) + { SALOMEDS::Study_var study = gen->GetCurrentStudy(); - SALOMEDS::SObject_var SO = gen->ObjectToSObject( study, hyp1D ); + SALOMEDS::SObject_var SO = gen->ObjectToSObject( study, hyp1D ); if ( ! SO->_is_nil() ) - study->NewBuilder()->RemoveObjectWithChildren( SO ); + { + SALOMEDS::StudyBuilder_var builder = study->NewBuilder(); + builder->RemoveObjectWithChildren( SO ); + SO->UnRegister(); + } } // Update Python script: write creation of 1D hyp as it is not published and // for this, SMESH_Gen does not write it's creation