In CleanDependants(), do not call ComputeStateEngine(CLEAN) of a
dependant subMesh if it IsEmpty() in order to prevent infinite CLEAN
via event lesteners
// will erase mesh on other shapes in a compound
if ( ancestor.ShapeType() >= TopAbs_SOLID ) {
SMESH_subMesh *aSubMesh = _father->GetSubMeshContaining(ancestor);
- if (aSubMesh)
+ if (aSubMesh &&
+ !aSubMesh->IsEmpty() ) // prevent infinite CLEAN via event lesteners
aSubMesh->ComputeStateEngine(CLEAN);
}
}