diff --git a/accountmanager.cpp b/accountmanager.cpp index e0d317f3e..40e8255f9 100644 --- a/accountmanager.cpp +++ b/accountmanager.cpp @@ -37,6 +37,7 @@ AccountManager::AccountManager() AccountManager::~AccountManager() { writeConfig( false ); + qDeleteAll(mAcctList); } diff --git a/configuredialog.cpp b/configuredialog.cpp index 939be0c07..deb288cd8 100644 --- a/configuredialog.cpp +++ b/configuredialog.cpp @@ -2723,6 +2723,7 @@ void AppearancePage::MessageTagTab::slotAddNewTag() void AppearancePage::MessageTagTab::doLoadFromGlobalSettings() { mMsgTagDict->clear(); + qDeleteAll(*mMsgTagList); mMsgTagList->clear(); mTagListBox->clear(); diff --git a/kmfoldertree.cpp b/kmfoldertree.cpp index b978476db..23016e8dc 100644 --- a/kmfoldertree.cpp +++ b/kmfoldertree.cpp @@ -530,7 +530,8 @@ void KMFolderTree::reload(bool openFolders) KMFolder* oldCurrentFolder = ( oldCurrent ? static_cast(oldCurrent)->folder(): 0 ); for ( Q3ListViewItemIterator it( this ) ; it.current() ; ++it ) { - KMFolderTreeItem * fti = static_cast(it.current()); + KMFolderTreeItem * fti = dynamic_cast(it.current()); + Q_ASSERT(fti); writeIsListViewItemOpen( fti ); if ( fti->isSelected() ) selected = fti->folder(); @@ -698,7 +699,9 @@ void KMFolderTree::addDirectory( KMFolderDir *fdir, KMFolderTreeItem* parent ) if ( node->isDir() ) continue; - KMFolder * folder = static_cast(node); + KMFolder * folder = dynamic_cast(node); + Q_ASSERT(folder); + KMFolderTreeItem * fti = 0; if (!parent) {