diff --git a/src/SMESH_I/SMESH_Gen_i_1.cxx b/src/SMESH_I/SMESH_Gen_i_1.cxx index 2dc8b31bb..a3bc17331 100644 --- a/src/SMESH_I/SMESH_Gen_i_1.cxx +++ b/src/SMESH_I/SMESH_Gen_i_1.cxx @@ -412,12 +412,14 @@ static void addReference (SALOMEDS::Study_ptr theStudy, theTag = tag; } if ( !theSObject->FindSubObject( theTag, aReferenceSO.inout() )) + { aReferenceSO = aStudyBuilder->NewObjectToTag( theSObject, theTag ); + // add reference to the use case tree + // (to support tree representation customization and drag-n-drop) + SALOMEDS::UseCaseBuilder_wrap useCaseBuilder = theStudy->GetUseCaseBuilder(); + useCaseBuilder->AppendTo( aReferenceSO->GetFather(), aReferenceSO ); + } aStudyBuilder->Addreference( aReferenceSO, aToObjSO ); - // add reference to the use case tree - // (to support tree representation customization and drag-n-drop) - SALOMEDS::UseCaseBuilder_wrap useCaseBuilder = theStudy->GetUseCaseBuilder(); - useCaseBuilder->AppendTo( aReferenceSO->GetFather(), aReferenceSO ); } }