author | zautrix <zautrix> | 2004-07-05 13:18:57 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-07-05 13:18:57 (UTC) |
commit | ca6ce5868aef5e925ff2e61d363f71e43d2b7d7b (patch) (side-by-side diff) | |
tree | 5cb350d3a9bd3451fcf5184a2dd8d36ddd330f0e | |
parent | 93f9b1e0a8935210b03a094ce18949b7197041aa (diff) | |
download | kdepimpi-ca6ce5868aef5e925ff2e61d363f71e43d2b7d7b.zip kdepimpi-ca6ce5868aef5e925ff2e61d363f71e43d2b7d7b.tar.gz kdepimpi-ca6ce5868aef5e925ff2e61d363f71e43d2b7d7b.tar.bz2 |
Fix of endless loop when removin resources
-rw-r--r-- | microkde/kconfig.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/microkde/kconfig.cpp b/microkde/kconfig.cpp index f8e362e..71db891 100644 --- a/microkde/kconfig.cpp +++ b/microkde/kconfig.cpp @@ -342,17 +342,18 @@ bool KConfig::deleteGroup( const QString& group) while ( itBool != mBoolMap.end() ) { pos = itBool.key().find( group ); if (pos == 0) { delBool = itBool; ++itBool; mBoolMap.remove(delBool); dirty = true; - } + } else + ++itBool; } /* for( itBool = mBoolMap.begin(); itBool != mBoolMap.end(); ++itBool ) { pos = itBool.key().find( group ); if (pos == 0) { mBoolMap.remove(itBool); @@ -365,17 +366,18 @@ bool KConfig::deleteGroup( const QString& group) while( itString != mStringMap.end() ) { pos = itString.key().find( group ); if (pos == 0) { delString = itString; ++itString; mStringMap.remove(delString); //qDebug("delte++++++++++++++++++ "); dirty = true; - } + } else + ++itString; } /* this leads to a memory access violation for( itString = mStringMap.begin(); itString != mStringMap.end(); ++itString ) { pos = itString.key().find( group ); if (pos == 0) { mStringMap.remove(itString); @@ -387,17 +389,18 @@ bool KConfig::deleteGroup( const QString& group) QMap<QString,QDateTime>::Iterator delDateTime; while ( itDateTime != mDateTimeMap.end() ) { pos = itDateTime.key().find( group ); if (pos == 0) { delDateTime = itDateTime; ++itDateTime; mDateTimeMap.remove(delDateTime); dirty = true; - } + } else + ++itDateTime; } /* for( itDateTime = mDateTimeMap.begin(); itDateTime != mDateTimeMap.end(); ++itDateTime ) { pos = itDateTime.key().find( group ); if (pos == 0) { mDateTimeMap.remove(itDateTime); |