From cc29364f06178f8f6b457384f2ec37a042bd9d43 Mon Sep 17 00:00:00 2001 From: tpearson Date: Wed, 1 Sep 2010 00:37:02 +0000 Subject: * Massive set of changes to bring in all fixes and enhancements from the Enterprise PIM branch * Ensured that the Trinity changes were applied on top of those enhancements, and any redundancy removed * Added journal read support to the CalDAV resource * Fixed CalDAV resource to use events URL for tasks and journals when separate URL checkbox unchecked git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1170461 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kmail/kmacctcachedimap.cpp | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) (limited to 'kmail/kmacctcachedimap.cpp') diff --git a/kmail/kmacctcachedimap.cpp b/kmail/kmacctcachedimap.cpp index 2305b080..b673b5e1 100644 --- a/kmail/kmacctcachedimap.cpp +++ b/kmail/kmacctcachedimap.cpp @@ -179,21 +179,6 @@ void KMAcctCachedImap::cancelMailCheck() } } -//----------------------------------------------------------------------------- -void KMAcctCachedImap::killJobsForItem(KMFolderTreeItem * fti) -{ - TQMap::Iterator it = mapJobData.begin(); - while (it != mapJobData.end()) - { - if (it.data().parent == fti->folder()) - { - killAllJobs(); - break; - } - else ++it; - } -} - // Reimplemented from ImapAccountBase because we only check one folder at a time void KMAcctCachedImap::slotCheckQueuedFolders() { @@ -217,7 +202,12 @@ void KMAcctCachedImap::processNewMail( bool /*interactive*/ ) else { KMFolder* f = mMailCheckFolders.front(); mMailCheckFolders.pop_front(); - processNewMail( static_cast( f->storage() ), false ); + + // Only check mail if the folder really exists, it might have been removed by the sync in + // the meantime. + if ( f ) { + processNewMail( static_cast( f->storage() ), !checkingSingleFolder() ); + } } } @@ -234,7 +224,7 @@ void KMAcctCachedImap::processNewMail( KMFolderCachedImap* folder, mNoopTimer.stop(); // reset namespace todo - if ( folder == mFolder ) { + if ( folder == mFolder && !namespaces().isEmpty() ) { TQStringList nsToList = namespaces()[PersonalNS]; TQStringList otherNSToCheck = namespaces()[OtherUsersNS]; otherNSToCheck += namespaces()[SharedNS]; @@ -361,8 +351,8 @@ void KMAcctCachedImap::invalidateIMAPFolders( KMFolderCachedImap* folder ) TQStringList strList; TQValueList > folderList; kmkernel->dimapFolderMgr()->createFolderList( &strList, &folderList, - folder->folder()->child(), TQString::null, - false ); + folder->folder()->child(), TQString::null, + false ); TQValueList >::Iterator it; mCountLastUnread = 0; mUnreadBeforeCheck.clear(); @@ -374,13 +364,12 @@ void KMAcctCachedImap::invalidateIMAPFolders( KMFolderCachedImap* folder ) // This invalidates the folder completely cfolder->setUidValidity("INVALID"); cfolder->writeUidCache(); - processNewMailSingleFolder( f ); } } folder->setUidValidity("INVALID"); folder->writeUidCache(); - processNewMailSingleFolder( folder->folder() ); + processNewMailInFolder( folder->folder(), Recursive ); } //----------------------------------------------------------------------------- @@ -462,7 +451,7 @@ void KMAcctCachedImap::slotProgressItemCanceled( ProgressItem* ) } } -FolderStorage* const KMAcctCachedImap::rootFolder() const +FolderStorage* KMAcctCachedImap::rootFolder() const { return mFolder; } -- cgit v1.2.3