[Bug 143869] crash with new copy folder function
Volker Krause
vkrause at kde.org
Wed Jul 18 13:33:23 BST 2007
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=143869
vkrause kde org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From vkrause kde org 2007-07-18 14:33 -------
SVN commit 689500 by vkrause:
Backport commits 688956 and 689037 from enterprise branch (crash
fixes for folder moving).
I'm aware that this breaks the message freeze, but an untranslated error
message seems to be a better option than a potentially dangerous crash.
BUG: 143869
M +7 -0 kmcommands.cpp
M +6 -0 kmfoldertree.cpp
--- branches/KDE/3.5/kdepim/kmail/kmcommands.cpp #689499:689500
@ -1935,6 +1935,13 @
idx = srcFolder->find(msgBase);
assert(idx != -1);
msg = srcFolder->getMsg(idx);
+ // corrupt IMAP cache, see FolderStorage::getMsg()
+ if ( msg == 0 ) {
+ KMessageBox::error( parentWidget(), i18n("Corrupt IMAP cache detected in folder %1. "
+ "Copying of messages aborted.").arg( srcFolder->prettyURL() ) );
+ deleteLater();
+ return Failed;
+ }
}
if (srcFolder && mDestFolder &&
--- branches/KDE/3.5/kdepim/kmail/kmfoldertree.cpp #689499:689500
@ -2031,6 +2031,12 @
}
}
+ // de-select moved source folders (can cause crash due to unGetMsg() in KMHeaders)
+ if ( move ) {
+ doFolderSelected( indexOfFolder( destination ), false );
+ oldCurrent = currentItem();
+ }
+
// do the actual move/copy
for ( QValueList<QGuardedPtr<KMFolder> >::ConstIterator it = sources.constBegin(); it != sources.constEnd(); ++it ) {
KMFolder* source = *it;
More information about the Kdepim-bugs
mailing list