PIM/MS Windows/SQLite Folder Indices/merge: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
*folderstorage.cpp | *folderstorage.cpp | ||
*folderstorage.h | *folderstorage.h | ||
**added virtual QString FolderStorage::location(const QString& suffix) const helper, used in various *location() methods of in KMail, to avoid code duplication | |||
*kmailicalifaceimpl.cpp - OK | *kmailicalifaceimpl.cpp - OK | ||
Line 24: | Line 25: | ||
*kmfolder.cpp | *kmfolder.cpp | ||
*kmfolder.h | *kmfolder.h | ||
**QString KMFolder::indexLocation() const - implemneted here to return "*.index" name for mmap mode ("*.index.db" for sqlite mode). Previously it was abstract and implemented in KMFolderIndex. KMFolderSearch reimplements it to return "*.index.search" name - see kmfoldersearch.cpp for details. | |||
*kmfolderdir.cpp | *kmfolderdir.cpp | ||
Line 34: | Line 37: | ||
*kmfoldermbox.cpp | *kmfoldermbox.cpp | ||
*kmfoldersearch.cpp | *kmfoldersearch.cpp - OK | ||
**QString KMFolderSearch::indexLocation() const now just calls FolderStorage::location( "search" ) utility function what has the same effect | |||
**int KMFolderSearch::writeIndex( bool ): at the very end final, result of KDE_rename() from temp name to the indexLocation() name is checked; on faulure the method fails, what cause that "mDirty = false; mUnlinked = false;" code is not executed. - OK | |||
*kmheaders.cpp | *kmheaders.cpp |
Revision as of 09:36, 8 May 2008
Validation of the SQLite folder indices merge into kdepim trunk (805075).
Notes
- "OK" means files or methods inspected in every detail.
- We do not mention changes that only add/remove kDebug(), etc.
Results
- compactionjob.cpp - OK
- void MboxCompactionJob::done( int rc ): the only addition result of KDE_rename() is checked, return immediately on failure
- folderstorage.cpp
- folderstorage.h
- added virtual QString FolderStorage::location(const QString& suffix) const helper, used in various *location() methods of in KMail, to avoid code duplication
- kmailicalifaceimpl.cpp - OK
void KMailICalIfaceImpl::readConfig() - added sanity check:
if ( !mCalendar || !mTasks || !mJournals || !mContacts || !mNotes )
return;
KMFolder* KMailICalIfaceImpl::initFolder( KMail::FolderContentsType contentsType ) - added check for result of open():
if ( 0 != folder->open( "ifacefolder" ) ) { ....
- kmfolder.cpp
- kmfolder.h
- QString KMFolder::indexLocation() const - implemneted here to return "*.index" name for mmap mode ("*.index.db" for sqlite mode). Previously it was abstract and implemented in KMFolderIndex. KMFolderSearch reimplements it to return "*.index.search" name - see kmfoldersearch.cpp for details.
- kmfolderdir.cpp
- kmfolderindex.cpp
- kmfolderindex.h
- kmfoldermaildir.cpp
- kmfoldermbox.cpp
- kmfoldersearch.cpp - OK
- QString KMFolderSearch::indexLocation() const now just calls FolderStorage::location( "search" ) utility function what has the same effect
- int KMFolderSearch::writeIndex( bool ): at the very end final, result of KDE_rename() from temp name to the indexLocation() name is checked; on faulure the method fails, what cause that "mDirty = false; mUnlinked = false;" code is not executed. - OK
- kmheaders.cpp
- kmheaders.h
- kmkernel.cpp - OK
- void KMKernel::slotRunBackgroundTasks(): added sanity checks for null pointers: the_folderMgr, the_imapFolderMgr, the_dimapFolderMgr; this is neutral change
- kmmsgbase.cpp
- kmmsgbase.h
- kmmsgdict.cpp
- kmmsginfo.cpp
- kmmsginfo.h
- messageproperty.cpp - OK
- minor optimizations only added, for example 1. instead of 2.:
- QMap<quint32, QPointer<KMFolder> >::ConstIterator it = sFolders.constFind( serNum );
return it == sFolders.constEnd() ? 0 : (*it).operator->(); - if (sFolders.contains(serNum))
return sFolders[serNum].operator->();
return 0;
- QMap<quint32, QPointer<KMFolder> >::ConstIterator it = sFolders.constFind( serNum );
- Affected methods:
- KMFolder* MessageProperty::filterFolder( quint32 serNum ) - Status: OK
- ActionScheduler* MessageProperty::filterHandler( quint32 serNum ) - Status: OK
- bool MessageProperty::transferInProgress( quint32 serNum ) - Status: OK
- void MessageProperty::setTransferInProgress( quint32 serNum, bool transfer, bool force ) - Status: OK
- quint32 MessageProperty::serialCache( const KMMsgBase *msgBase ) - Status: OK
- minor optimizations only added, for example 1. instead of 2.: