-rw-r--r-- | kabc/addressbook.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/kabc/addressbook.cpp b/kabc/addressbook.cpp index ff05f7e..16927e2 100644 --- a/kabc/addressbook.cpp +++ b/kabc/addressbook.cpp @@ -446,7 +446,15 @@ void AddressBook::removeUntagged() Iterator ait; + bool todelete = false; + Iterator todel; for ( ait = begin(); ait != end(); ++ait ) { - if (!(*ait).tagged()) - removeAddressee( ait ); - } - + if ( todelete ) + removeAddressee( todel ); + if (!(*ait).tagged()) { + todelete = true; + todel = ait; + } else + todelete = false; + } + if ( todelete ) + removeAddressee( todel ); deleteRemovedAddressees(); |