summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-07-05 13:18:57 (UTC)
committer zautrix <zautrix>2004-07-05 13:18:57 (UTC)
commitca6ce5868aef5e925ff2e61d363f71e43d2b7d7b (patch) (side-by-side diff)
tree5cb350d3a9bd3451fcf5184a2dd8d36ddd330f0e
parent93f9b1e0a8935210b03a094ce18949b7197041aa (diff)
downloadkdepimpi-ca6ce5868aef5e925ff2e61d363f71e43d2b7d7b.zip
kdepimpi-ca6ce5868aef5e925ff2e61d363f71e43d2b7d7b.tar.gz
kdepimpi-ca6ce5868aef5e925ff2e61d363f71e43d2b7d7b.tar.bz2
Fix of endless loop when removin resources
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kconfig.cpp9
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);