[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.4/kdebase/runtime/kstyles/oxygen/animations
From: Hugo Pereira Da Costa <hugo.pereira () free ! fr>
Date: 2010-03-25 19:37:09
Message-ID: 20100325193709.5668AAC87F () svn ! kde ! org
[Download RAW message or body]
SVN commit 1107481 by hpereiradacosta:
Backport: r1107480
properly reset lastKey and lastValue when unregistering widget
M +22 -6 oxygendatamap.h
--- branches/KDE/4.4/kdebase/runtime/kstyles/oxygen/animations/oxygendatamap.h #1107480:1107481
@@ -72,17 +72,33 @@
void unregisterWidget( Key key )
{
+ // check key
+ if( !key ) return;
+
// clear last value if needed
- if( key == lastKey_ && lastValue_ ) lastValue_.data()->deleteLater();
+ if( key == lastKey_ )
+ {
- // delete value from map if found
+ if( lastValue_ )
+ {
+ lastValue_.data()->deleteLater();
+ lastValue_.clear();
+ }
+
+ lastKey_ = NULL;
+
+ }
+
+ // find key in map
typename QMap<Key, Value>::iterator iter( QMap<Key, Value>::find( key ) );
- if( iter != QMap<Key, Value>::end() )
- { if( iter.value() ) iter.value().data()->deleteLater(); }
+ if( iter == QMap<Key, Value>::end() ) return;
- // remove key from map
- QMap<Key, Value>::remove( key );
+ // delete value from map if found
+ if( iter.value() ) iter.value().data()->deleteLater();
+ QMap<Key, Value>::erase( iter );
+ return;
+
}
//! maxFrame
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic