summaryrefslogtreecommitdiffabout
path: root/microkde/kconfig.cpp
authorzautrix <zautrix>2004-07-03 23:59:49 (UTC)
committer zautrix <zautrix>2004-07-03 23:59:49 (UTC)
commit22470ff7ffe034a94bedb52b517ee4d245ae2808 (patch) (side-by-side diff)
tree44cbe6a45c6ebb6c5dd64fa035cd995ee3b4d463 /microkde/kconfig.cpp
parent260befadfaa64d94de7d38d7f6cad0d22f52c226 (diff)
downloadkdepimpi-22470ff7ffe034a94bedb52b517ee4d245ae2808.zip
kdepimpi-22470ff7ffe034a94bedb52b517ee4d245ae2808.tar.gz
kdepimpi-22470ff7ffe034a94bedb52b517ee4d245ae2808.tar.bz2
Fixed memory access violation in distlist handling
Diffstat (limited to 'microkde/kconfig.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kconfig.cpp44
1 files changed, 41 insertions, 3 deletions
diff --git a/microkde/kconfig.cpp b/microkde/kconfig.cpp
index 3f23ed2..b882adb 100644
--- a/microkde/kconfig.cpp
+++ b/microkde/kconfig.cpp
@@ -340,2 +340,14 @@ bool KConfig::deleteGroup( const QString& group)
QMap<QString,bool>::Iterator itBool;
+ QMap<QString,bool>::Iterator delBool;
+ while ( itBool != mBoolMap.end() ) {
+ pos = itBool.key().find( group );
+ if (pos == 0) {
+ delBool = itBool;
+ ++itBool;
+ mBoolMap.remove(delBool);
+ dirty = true;
+ }
+
+ }
+ /*
for( itBool = mBoolMap.begin(); itBool != mBoolMap.end(); ++itBool )
@@ -348,4 +360,17 @@ bool KConfig::deleteGroup( const QString& group)
}
+ */
+ QMap<QString,QString>::Iterator itString = mStringMap.begin();
+ QMap<QString,QString>::Iterator delString ;
+ while( itString != mStringMap.end() ) {
+ pos = itString.key().find( group );
+ if (pos == 0) {
+ delString = itString;
+ ++itString;
+ mStringMap.remove(delString);
+ //qDebug("delte++++++++++++++++++ ");
+ dirty = true;
+ }
- QMap<QString,QString>::Iterator itString;
+ }
+ /* this leads to a memory access violation
for( itString = mStringMap.begin(); itString != mStringMap.end(); ++itString )
@@ -358,4 +383,16 @@ bool KConfig::deleteGroup( const QString& group)
}
-
- QMap<QString,QDateTime>::Iterator itDateTime;
+ */
+ QMap<QString,QDateTime>::Iterator itDateTime= mDateTimeMap.begin();
+ 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;
+ }
+
+ }
+ /*
for( itDateTime = mDateTimeMap.begin(); itDateTime != mDateTimeMap.end(); ++itDateTime )
@@ -368,2 +405,3 @@ bool KConfig::deleteGroup( const QString& group)
}
+ */