Salome HOME
1) Use transformation for projection from bottom to top
[modules/smesh.git] / src / SMESH_I / SMESH_Filter_i.cxx
index b7b0e53e1e75b0691300d99ae3a4b5b5a437b204..e52d29b558c5259311793762df8a11de1961aa31 100644 (file)
@@ -3070,8 +3070,7 @@ CORBA::Boolean Filter_i::GetCriteria( SMESH::Filter::Criteria_out theCriteria )
 //=======================================================================
 CORBA::Boolean Filter_i::SetCriteria( const SMESH::Filter::Criteria& theCriteria )
 {
-  if ( myPredicate != 0 )
-    myPredicate->UnRegister();
+  SetPredicate( SMESH::Predicate::_nil() );
 
   SMESH::FilterManager_i* aFilter = new SMESH::FilterManager_i();
   FilterManager_ptr aFilterMgr = aFilter->_this();
@@ -3424,6 +3423,8 @@ CORBA::Boolean Filter_i::SetCriteria( const SMESH::Filter::Criteria& theCriteria
 
   SetPredicate( aResPredicate );
 
+  aResPredicate->UnRegister();
+
   return !aResPredicate->_is_nil();
 }