const Standard_Boolean wasSelected = theOwner->IsSelected();
const Standard_Boolean toSelect = theOwner->Select (theSelScheme, isDetected);
- if (toSelect && !wasSelected)
+ if (!wasSelected || !myResultMap.IsBound(theOwner))
{
+ if (!toSelect)
+ return AIS_SS_NotDone;
+
AIS_NListOfEntityOwner::Iterator aListIter;
myresult.Append (theOwner, aListIter);
myResultMap.Bind (theOwner, aListIter);
return AIS_SS_Added;
}
- if (!toSelect && !wasSelected)
- {
- return AIS_SS_NotDone;
- }
-
AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theOwner);
if (myIterator == aListIter)
{