From 7fea309cc82bf18492d378f668ad1dba40114b85 Mon Sep 17 00:00:00 2001 From: san Date: Fri, 15 Oct 2010 13:03:52 +0000 Subject: [PATCH] *** empty log message *** --- src/SUIT/SUIT_SelectionMgr.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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 ); } } -- 2.39.2