Salome HOME
Merge remote-tracking branch 'origin/master'
[modules/smesh.git] / src / SMESH_I / SMESH_Gen_i.cxx
index a32d4db78fd67900433e0f1a6bf434f5406e7f15..2e11e27e580236fa7145fa8da347eea2a65ae923 100644 (file)
@@ -2504,10 +2504,13 @@ SMESH_Gen_i::ConcatenateCommon(const SMESH::ListOfIDSources& theMeshesArray,
 
     // assure that IDs increments by one during iteration
     ::SMESH_Mesh& initLocMesh = initImpl->GetImpl();
 
     // assure that IDs increments by one during iteration
     ::SMESH_Mesh& initLocMesh = initImpl->GetImpl();
-    SMESHDS_Mesh* initMeshDS = initLocMesh.GetMeshDS();
-    if ( initMeshDS->MaxNodeID()    != initMeshDS->NbNodes() ||
-         initMeshDS->MaxElementID() != initMeshDS->NbElements() )
+    SMESHDS_Mesh*  initMeshDS = initLocMesh.GetMeshDS();
+    if ( initMeshDS->MaxNodeID()    > initMeshDS->NbNodes() ||
+         initMeshDS->MaxElementID() > initMeshDS->NbElements() )
+    {
+      initMeshDS->Modified();
       initMeshDS->CompactMesh();
       initMeshDS->CompactMesh();
+    }
 
     // remember nb of elements before filling in
     SMESH::long_array_var prevState =  newMesh->GetNbElementsByType();
 
     // remember nb of elements before filling in
     SMESH::long_array_var prevState =  newMesh->GetNbElementsByType();