diff options
author | markd <markd@pkgsrc.org> | 2004-02-06 10:48:58 +0000 |
---|---|---|
committer | markd <markd@pkgsrc.org> | 2004-02-06 10:48:58 +0000 |
commit | ad9eadcb3d7423ee2b9f2e5b3e12a02c95117bb2 (patch) | |
tree | df3b34dc42586e4580857202244fa805a122e785 /misc/kdepim3 | |
parent | a660f6c0f0e8a510da843d0298050b086e656a97 (diff) | |
download | pkgsrc-ad9eadcb3d7423ee2b9f2e5b3e12a02c95117bb2.tar.gz |
Add official KDE patches to fix two kmail problems that can lead to mail
loss. Bump PKGREVISION.
Diffstat (limited to 'misc/kdepim3')
-rw-r--r-- | misc/kdepim3/Makefile | 3 | ||||
-rw-r--r-- | misc/kdepim3/distinfo | 4 | ||||
-rw-r--r-- | misc/kdepim3/patches/patch-aa | 46 | ||||
-rw-r--r-- | misc/kdepim3/patches/patch-ab | 35 |
4 files changed, 86 insertions, 2 deletions
diff --git a/misc/kdepim3/Makefile b/misc/kdepim3/Makefile index a7da56b87dd..c300b889994 100644 --- a/misc/kdepim3/Makefile +++ b/misc/kdepim3/Makefile @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.22 2004/02/04 22:50:18 markd Exp $ +# $NetBSD: Makefile,v 1.23 2004/02/06 10:48:58 markd Exp $ DISTNAME= kdepim-${_KDE_VERSION} +PKGREVISION= 1 CATEGORIES= misc COMMENT= Personal Information Management tools for the KDE desktop diff --git a/misc/kdepim3/distinfo b/misc/kdepim3/distinfo index 1e8abc39607..ae375d6e62a 100644 --- a/misc/kdepim3/distinfo +++ b/misc/kdepim3/distinfo @@ -1,5 +1,7 @@ -$NetBSD: distinfo,v 1.16 2004/02/04 22:50:18 markd Exp $ +$NetBSD: distinfo,v 1.17 2004/02/06 10:48:58 markd Exp $ SHA1 (kdepim-3.2.0.tar.bz2) = 4e7e4cd82ef4d3383f7aa668ebf23bf77a52a8d0 Size (kdepim-3.2.0.tar.bz2) = 7707960 bytes +SHA1 (patch-aa) = d40f652d29053fca907812ca1a1e2e01d88b2b99 +SHA1 (patch-ab) = 2b922ea7f7b0d8a82bd7c68af56c17e18101cbf1 SHA1 (patch-ai) = 6ff4270a5fd119e7d9c7240f40e60e868e691c3b diff --git a/misc/kdepim3/patches/patch-aa b/misc/kdepim3/patches/patch-aa new file mode 100644 index 00000000000..0be2651bc61 --- /dev/null +++ b/misc/kdepim3/patches/patch-aa @@ -0,0 +1,46 @@ +$NetBSD: patch-aa,v 1.5 2004/02/06 10:48:58 markd Exp $ + +--- kmail/kmfilter.cpp.orig 2003-11-30 22:49:22.000000000 +1300 ++++ kmail/kmfilter.cpp +@@ -147,9 +147,18 @@ void KMFilter::readConfig(KConfig* confi + // that the pattern is purified. + mPattern.readConfig(config); + +- if (bPopFilter) ++ if (bPopFilter) { + // get the action description... +- mAction = (KMPopFilterAction) config->readNumEntry( "action" ); ++ QString action = config->readEntry( "action" ); ++ if ( action == "down" ) ++ mAction = Down; ++ else if ( action == "later" ) ++ mAction = Later; ++ else if ( action == "delete" ) ++ mAction = Delete; ++ else ++ mAction = NoAction; ++ } + else { + QStringList sets = config->readListEntry("apply-on"); + if ( sets.isEmpty() && !config->hasKey("apply-on") ) { +@@ -210,7 +219,19 @@ void KMFilter::writeConfig(KConfig* conf + mPattern.writeConfig(config); + + if (bPopFilter) { +- config->writeEntry( "action", mAction ); ++ switch ( mAction ) { ++ case Down: ++ config->writeEntry( "action", "down" ); ++ break; ++ case Later: ++ config->writeEntry( "action", "later" ); ++ break; ++ case Delete: ++ config->writeEntry( "action", "delete" ); ++ break; ++ default: ++ config->writeEntry( "action", "" ); ++ } + } else { + QStringList sets; + if ( bApplyOnInbound ) diff --git a/misc/kdepim3/patches/patch-ab b/misc/kdepim3/patches/patch-ab new file mode 100644 index 00000000000..87a58414b72 --- /dev/null +++ b/misc/kdepim3/patches/patch-ab @@ -0,0 +1,35 @@ +$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); |