return;
}
- const Standard_Integer aHiMode = getHilightMode (theObj, theStyle, theDispMode);
+ Handle(AIS_GlobalStatus)* aStatusPtr = myObjects.ChangeSeek (theObj);
+ if (!aStatusPtr)
+ {
+ return;
+ }
+ const Standard_Integer aHiMode = getHilightMode (theObj, theStyle, (*aStatusPtr)->DisplayMode());
const Handle(SelectMgr_EntityOwner)& aGlobOwner = theObj->GlobalSelOwner();
if (aGlobOwner.IsNull())
{
anObjToClear.Add (anInteractive);
}
- if (anOwner == anInteractive->GlobalSelOwner())
+ if (aStatusPtr && anOwner == anInteractive->GlobalSelOwner())
{
(*aStatusPtr)->SetHilightStatus (Standard_False);
}
}*/
AIS_NListOfEntityOwner aPickedOwners;
- aPickedOwners.Append (myLastPicked);
+ if (!myLastPicked.IsNull() &&
+ myLastPicked->HasSelectable())
+ {
+ Handle(AIS_InteractiveObject) anIO = Handle(AIS_InteractiveObject)::DownCast(myLastPicked->Selectable());
+ if (!anIO.IsNull() &&
+ myObjects.IsBound(anIO))
+ {
+ aPickedOwners.Append (myLastPicked);
+ }
+ }
return Select (aPickedOwners, theSelScheme);
}