diff options
Diffstat (limited to 'misc/kdepim3/patches/patch-ab')
-rw-r--r-- | misc/kdepim3/patches/patch-ab | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/misc/kdepim3/patches/patch-ab b/misc/kdepim3/patches/patch-ab deleted file mode 100644 index 87a58414b72..00000000000 --- a/misc/kdepim3/patches/patch-ab +++ /dev/null @@ -1,35 +0,0 @@ -$NetBSD: patch-ab,v 1.3 2004/02/06 10:48:58 markd Exp $ - ---- kmail/kmfolderimap.cpp.orig 2004-01-18 01:55:08.000000000 +1300 -+++ kmail/kmfolderimap.cpp -@@ -1207,7 +1207,16 @@ void KMFolderImap::deleteMessage(KMMessa - { - KURL url = mAccount->getUrl(); - KMFolderImap *msg_parent = static_cast<KMFolderImap*>(msg->parent()); -- url.setPath(msg_parent->imapPath() + ";UID=" + msg->headerField("X-UID")); -+ QString uid = msg->headerField("X-UID"); -+ /* If the uid is empty the delete job below will nuke all mail in the -+ folder, so we better safeguard against that. See ::expungeFolder, as -+ to why. :( */ -+ if ( uid.isEmpty() ) { -+ kdDebug( 5006 ) << "KMFolderImap::deleteMessage: Attempt to delete " -+ "an empty UID. Aborting." << endl; -+ return; -+ } -+ url.setPath(msg_parent->imapPath() + ";UID=" + uid ); - if ( mAccount->makeConnection() != ImapAccountBase::Connected ) - return; - KIO::SimpleJob *job = KIO::file_delete(url, FALSE); -@@ -1228,7 +1237,11 @@ void KMFolderImap::deleteMessage(QPtrLis - KMFolderImap *msg_parent = static_cast<KMFolderImap*>(msgList.first()->parent()); - for ( QStringList::Iterator it = sets.begin(); it != sets.end(); ++it ) - { -- url.setPath(msg_parent->imapPath() + ";UID=" + *it); -+ QString uid = *it; -+ // Don't delete with no uid, that nukes the folder. Should not happen, but -+ // better safe than sorry. -+ if ( uid.isEmpty() ) continue; -+ url.setPath(msg_parent->imapPath() + ";UID=" + uid); - if ( mAccount->makeConnection() != ImapAccountBase::Connected ) - return; - KIO::SimpleJob *job = KIO::file_delete(url, FALSE); |