diff --git a/configuredialog/configurecomposerpage.cpp b/configuredialog/configurecomposerpage.cpp index 10c4c3449..52b41842b 100644 --- a/configuredialog/configurecomposerpage.cpp +++ b/configuredialog/configurecomposerpage.cpp @@ -626,16 +626,17 @@ void ComposerPage::GeneralTab::save() void ComposerPage::GeneralTab::slotConfigureRecentAddresses() { - MessageViewer::AutoQPointer dlg(new KPIM::RecentAddressDialog(this)); - dlg->setAddresses(RecentAddresses::self(MessageComposer::MessageComposerSettings::self()->config())->addresses()); - if (dlg->exec() && dlg) { - RecentAddresses::self(MessageComposer::MessageComposerSettings::self()->config())->clear(); - const QStringList &addrList = dlg->addresses(); - QStringList::ConstIterator it; - QStringList::ConstIterator end(addrList.constEnd()); - - for (it = addrList.constBegin(); it != end; ++it) { - RecentAddresses::self(MessageComposer::MessageComposerSettings::self()->config())->add(*it); + MessageViewer::AutoQPointer dlg( new KPIM::RecentAddressDialog( this ) ); + dlg->setAddresses( RecentAddresses::self( MessageComposer::MessageComposerSettings::self()->config() )->addresses() ); + if ( dlg->exec() && dlg ) { + if (dlg->wasChanged()) { + RecentAddresses::self( MessageComposer::MessageComposerSettings::self()->config() )->clear(); + const QStringList &addrList = dlg->addresses(); + QStringList::ConstIterator it; + QStringList::ConstIterator end( addrList.constEnd() ); + + for ( it = addrList.constBegin(); it != end; ++it ) + RecentAddresses::self( MessageComposer::MessageComposerSettings::self()->config() )->add( *it ); } } }