From: san Date: Fri, 15 Oct 2010 13:03:52 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: V5_1_10~16 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=7fea309cc82bf18492d378f668ad1dba40114b85;p=modules%2Fgui.git *** empty log message *** --- diff --git a/src/SUIT/SUIT_SelectionMgr.cxx b/src/SUIT/SUIT_SelectionMgr.cxx index a3f8a8e81..3479c176b 100755 --- a/src/SUIT/SUIT_SelectionMgr.cxx +++ b/src/SUIT/SUIT_SelectionMgr.cxx @@ -144,12 +144,20 @@ void SUIT_SelectionMgr::selectionChanged( SUIT_Selector* sel ) SUIT_DataOwnerPtrList newOwners; filterOwners( owners, newOwners ); + QMap map; + for ( SUIT_DataOwnerPtrList::iterator itr = owners.begin(); itr != owners.end(); ++itr ) + map.insert( *itr, 0 ); + + for ( SUIT_DataOwnerPtrList::iterator nitr = newOwners.begin(); nitr != newOwners.end(); ++nitr ) + map.remove( *nitr ); + + bool filtered = !map.isEmpty(); + for ( int i = 0; i < myIterations; i++ ) { for ( SelectorList::iterator it = mySelectors.begin(); it != mySelectors.end(); ++it ) { - // Temporary action(to avoid selection of the objects which don't pass the filters): - //if ( *it != sel ) + if ( *it != sel || filtered ) (*it)->setSelected( newOwners ); } }