From: jfa Date: Fri, 11 Jul 2008 08:40:15 +0000 (+0000) Subject: Bug 19000: problem with local selection on multiple shapes. X-Git-Tag: V4_1_4a1~9 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=d6ad74214c8f3ca990d7d0b78f6448c89e9fdf30;p=modules%2Fgeom.git Bug 19000: problem with local selection on multiple shapes. --- diff --git a/src/GEOMGUI/GEOMGUI_OCCSelector.cxx b/src/GEOMGUI/GEOMGUI_OCCSelector.cxx index 0cd04c86f..1ec9cd677 100644 --- a/src/GEOMGUI/GEOMGUI_OCCSelector.cxx +++ b/src/GEOMGUI/GEOMGUI_OCCSelector.cxx @@ -100,6 +100,7 @@ void GEOMGUI_OCCSelector::getSelection( SUIT_DataOwnerPtrList& aList ) const if (!bigShape.IsEqual(curBigShape)) { curBigShape = bigShape; + subShapes.Clear(); TopExp::MapShapes(bigShape, subShapes); } index = subShapes.FindIndex(subShape); @@ -213,7 +214,7 @@ void GEOMGUI_OCCSelector::setSelection( const SUIT_DataOwnerPtrList& aList ) #ifndef WNT if ( indexesMap.IsBound( TCollection_AsciiString((char*)entry.latin1()))) #else - if ( indexesMap.IsBound( (char*)entry.latin1())) + if ( indexesMap.IsBound( (char*)entry.latin1())) #endif { TColStd_IndexedMapOfInteger& subIndexes = indexesMap.ChangeFind((char*)entry.latin1()); @@ -242,7 +243,7 @@ void GEOMGUI_OCCSelector::setSelection( const SUIT_DataOwnerPtrList& aList ) } // get all owners. Fill "entry - list_of_owners" map. - for ( AIS_ListIteratorOfListOfInteractive it( aDispList ); it.More(); it.Next() ) + for (AIS_ListIteratorOfListOfInteractive it (aDispList); it.More(); it.Next()) { Handle(AIS_InteractiveObject) io = it.Value(); QString entryStr = entry( io ); @@ -272,6 +273,7 @@ void GEOMGUI_OCCSelector::setSelection( const SUIT_DataOwnerPtrList& aList ) { isLocal = true; TopoDS_Shape shape = aisShape->Shape(); + aMapOfShapes.Clear(); TopExp::MapShapes(shape, aMapOfShapes); } }