From 22470ff7ffe034a94bedb52b517ee4d245ae2808 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 03 Jul 2004 23:59:49 +0000 Subject: Fixed memory access violation in distlist handling --- diff --git a/microkde/kconfig.cpp b/microkde/kconfig.cpp index 3f23ed2..b882adb 100644 --- a/microkde/kconfig.cpp +++ b/microkde/kconfig.cpp @@ -338,6 +338,18 @@ bool KConfig::deleteGroup( const QString& group) int pos; QMap::Iterator itBool; + QMap::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 ) { pos = itBool.key().find( group ); @@ -346,8 +358,21 @@ bool KConfig::deleteGroup( const QString& group) dirty = true; } } + */ + QMap::Iterator itString = mStringMap.begin(); + QMap::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::Iterator itString; + } + /* this leads to a memory access violation for( itString = mStringMap.begin(); itString != mStringMap.end(); ++itString ) { pos = itString.key().find( group ); @@ -356,8 +381,20 @@ bool KConfig::deleteGroup( const QString& group) dirty = true; } } - - QMap::Iterator itDateTime; + */ + QMap::Iterator itDateTime= mDateTimeMap.begin(); + QMap::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 ) { pos = itDateTime.key().find( group ); @@ -366,6 +403,7 @@ bool KConfig::deleteGroup( const QString& group) dirty = true; } } + */ if (dirty) mDirty = true; -- cgit v0.9.0.2