add check of predicate pointer before usage

This commit is contained in:
ptv 2006-06-26 11:11:53 +00:00
parent febe54fee1
commit 5f87b237ea

View File

@ -1784,7 +1784,8 @@ GetElementsId( Predicate_i* thePredicate,
const SMDS_Mesh* theMesh, const SMDS_Mesh* theMesh,
Controls::Filter::TIdSequence& theSequence ) Controls::Filter::TIdSequence& theSequence )
{ {
Controls::Filter::GetElementsId(theMesh,thePredicate->GetPredicate(),theSequence); if (thePredicate)
Controls::Filter::GetElementsId(theMesh,thePredicate->GetPredicate(),theSequence);
} }
void void
@ -1793,8 +1794,9 @@ GetElementsId( Predicate_i* thePredicate,
SMESH_Mesh_ptr theMesh, SMESH_Mesh_ptr theMesh,
Controls::Filter::TIdSequence& theSequence ) Controls::Filter::TIdSequence& theSequence )
{ {
if(const SMDS_Mesh* aMesh = MeshPtr2SMDSMesh(theMesh)) if (thePredicate)
Controls::Filter::GetElementsId(aMesh,thePredicate->GetPredicate(),theSequence); if(const SMDS_Mesh* aMesh = MeshPtr2SMDSMesh(theMesh))
Controls::Filter::GetElementsId(aMesh,thePredicate->GetPredicate(),theSequence);
} }
SMESH::long_array* SMESH::long_array*
@ -1802,7 +1804,7 @@ Filter_i::
GetElementsId( SMESH_Mesh_ptr theMesh ) GetElementsId( SMESH_Mesh_ptr theMesh )
{ {
SMESH::long_array_var anArray = new SMESH::long_array; SMESH::long_array_var anArray = new SMESH::long_array;
if(!CORBA::is_nil(theMesh)){ if(!CORBA::is_nil(theMesh) && myPredicate){
Controls::Filter::TIdSequence aSequence; Controls::Filter::TIdSequence aSequence;
GetElementsId(myPredicate,theMesh,aSequence); GetElementsId(myPredicate,theMesh,aSequence);
long i = 0, iEnd = aSequence.size(); long i = 0, iEnd = aSequence.size();