if (thenextr.IsNull())
thenextr = next;
else {
- //Modification of requrcive to cycle
+ //Modification of recursive to cycle
Handle(Transfer_Binder) theBinder = thenextr;
while( theBinder != next ) {
if( theBinder->NextResult().IsNull() ) {
theBinder = theBinder->NextResult();
}
}
- //former requrcive
+ //former recursive
// if (thenextr.IsNull()) thenextr = next;
// else if (thenextr == next) return;
// else thenextr->AddResult (next);
{
if (thenextr.IsNull()) return;
if (thenextr == next) thenextr.Nullify();
- else thenextr->CutResult (next);
+ //else thenextr->CutResult (next);
+ else {
+ Handle(Transfer_Binder) currBinder = thenextr, currNext;
+ while( !( (currNext = currBinder->NextResult()) == next ) ) {
+ if( currNext.IsNull() )
+ return;
+ currBinder = currNext;
+ }
+ currBinder->CutResult(next);
+ }
}
//=======================================================================