From a094582dddf2dcdb2af778ca9f011928f77892f5 Mon Sep 17 00:00:00 2001 From: skl Date: Tue, 25 Aug 2009 07:49:25 +0000 Subject: [PATCH] Additional protection in method Evaluate(). --- src/GHS3DPlugin_GHS3D.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/GHS3DPlugin_GHS3D.cxx b/src/GHS3DPlugin_GHS3D.cxx index 2bdc33c..c0befee 100644 --- a/src/GHS3DPlugin_GHS3D.cxx +++ b/src/GHS3DPlugin_GHS3D.cxx @@ -1752,6 +1752,12 @@ bool GHS3DPlugin_GHS3D::Evaluate(SMESH_Mesh& aMesh, TopoDS_Face F = TopoDS::Face( exp.Current() ); SMESH_subMesh *sm = aMesh.GetSubMesh(F); MapShapeNbElemsItr anIt = aResMap.find(sm); + if( anIt==aResMap.end() ) { + SMESH_ComputeErrorPtr& smError = sm->GetComputeError(); + smError.reset( new SMESH_ComputeError(COMPERR_ALGO_FAILED, + "Submesh can not be evaluated",this)); + return false; + } std::vector aVec = (*anIt).second; nbtri += Max(aVec[SMDSEntity_Triangle],aVec[SMDSEntity_Quad_Triangle]); nbqua += Max(aVec[SMDSEntity_Quadrangle],aVec[SMDSEntity_Quad_Quadrangle]); -- 2.39.2