From: jfa Date: Fri, 14 Jun 2024 12:32:10 +0000 (+0100) Subject: [bos #42181] Fatal error in Fuse selection NCollection_DataMap::Find X-Git-Tag: SALOME_9_13_V7_8_0~1 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=5b0784443754a871597e9bfa69e475dc2f459a75;p=occt.git [bos #42181] Fatal error in Fuse selection NCollection_DataMap::Find --- diff --git a/src/AIS/AIS_Selection.cxx b/src/AIS/AIS_Selection.cxx index b0acb5ffa1..e797a7157a 100644 --- a/src/AIS/AIS_Selection.cxx +++ b/src/AIS/AIS_Selection.cxx @@ -72,8 +72,11 @@ AIS_SelectStatus AIS_Selection::Select (const Handle(SelectMgr_EntityOwner)& the 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); @@ -81,11 +84,6 @@ AIS_SelectStatus AIS_Selection::Select (const Handle(SelectMgr_EntityOwner)& the return AIS_SS_Added; } - if (!toSelect && !wasSelected) - { - return AIS_SS_NotDone; - } - AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theOwner); if (myIterator == aListIter) {