From f2293d4c4cedd5d673c99422e182b931225e257c Mon Sep 17 00:00:00 2001 From: Thomas McGuire Date: Thu, 31 Jul 2008 19:58:09 +0000 Subject: [PATCH] Fix bogus error message when deleting folders. svn path=/trunk/KDE/kdepim/; revision=840283 --- kmfoldermgr.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/kmfoldermgr.cpp b/kmfoldermgr.cpp index 94b8433d0..ee4120c8f 100644 --- a/kmfoldermgr.cpp +++ b/kmfoldermgr.cpp @@ -331,20 +331,22 @@ KMFolder* KMFolderMgr::findOrCreate(const QString& aFolderName, bool sysFldr, //----------------------------------------------------------------------------- void KMFolderMgr::remove(KMFolder* aFolder) { - if (!aFolder) return; + if ( !aFolder ) + return; + // remember the original folder to trigger contentsChanged later - if (!mRemoveOrig) mRemoveOrig = aFolder; - if (aFolder->child()) + if ( !mRemoveOrig ) + mRemoveOrig = aFolder; + + if ( aFolder->child() ) { // call remove for every child - - QList::const_iterator it; - for ( it = (*aFolder->child()).begin(); it != (*aFolder->child()).end(); ++it ) - { - KMFolderNode *node = *it; - if (node->isDir()) continue; - KMFolder *folder = static_cast(node); - remove(folder); + KMFolderNodeList childs = *aFolder->child(); + foreach( KMFolderNode *child, childs ) { + if ( child->isDir() ) + continue; + KMFolder *folder = static_cast( child ); + remove( folder ); } } emit folderRemoved(aFolder);