Salome HOME
PAL10515. Check shape type before calling TopoDS::Face()
authoreap <eap@opencascade.com>
Wed, 16 Nov 2005 15:00:03 +0000 (15:00 +0000)
committereap <eap@opencascade.com>
Wed, 16 Nov 2005 15:00:03 +0000 (15:00 +0000)
src/SMESH_I/SMESH_Pattern_i.cxx

index e8da5c8d1bd7ff6747cca32106d08def0deaaae4..887dfe51f89dd105e7506f9cc7450abb91c71417 100644 (file)
@@ -131,8 +131,8 @@ CORBA::Boolean SMESH_Pattern_i::LoadFromFace(SMESH::SMESH_Mesh_ptr theMesh,
   if ( !aMesh )
     return false;
 
   if ( !aMesh )
     return false;
 
-  TopoDS_Face aFace = TopoDS::Face( myGen->GeomObjectToShape( theFace ));
-  if ( aFace.IsNull() )
+  TopoDS_Shape aFace = myGen->GeomObjectToShape( theFace );
+  if ( aFace.IsNull() || aFace.ShapeType() != TopAbs_FACE )
     return false;
 
   // Update Python script
     return false;
 
   // Update Python script
@@ -143,7 +143,7 @@ CORBA::Boolean SMESH_Pattern_i::LoadFromFace(SMESH::SMESH_Mesh_ptr theMesh,
   SMESH_Gen_i::AddToCurrentPyScript( str );
   addErrorCode( "LoadFromFace" );
 
   SMESH_Gen_i::AddToCurrentPyScript( str );
   addErrorCode( "LoadFromFace" );
 
-  return myPattern.Load( aMesh, aFace, theProject );
+  return myPattern.Load( aMesh, TopoDS::Face( aFace ), theProject );
 }
 
 //=======================================================================
 }
 
 //=======================================================================