- SMESH_subMeshEventListenerData* data =
- srcSM->GetEventListenerData(GetSrcSubMeshListener());
- if ( data )
- data->mySubMeshes.push_back( subMesh );
- else
- data = SMESH_subMeshEventListenerData::MakeData( subMesh );
- subMesh->SetEventListener ( GetSrcSubMeshListener(), data, srcSM );
+ if ( srcSM != subMesh )
+ {
+ SMESH_subMeshEventListenerData* data =
+ srcSM->GetEventListenerData(GetSrcSubMeshListener());
+ if ( data )
+ data->mySubMeshes.push_back( subMesh );
+ else
+ data = SMESH_subMeshEventListenerData::MakeData( subMesh );
+ subMesh->SetEventListener ( GetSrcSubMeshListener(), data, srcSM );
+ }