pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/misc/kdepim3 Add official KDE patches to fix two kmail...
details: https://anonhg.NetBSD.org/pkgsrc/rev/453f9c7675e3
branches: trunk
changeset: 467764:453f9c7675e3
user: markd <markd%pkgsrc.org@localhost>
date: Fri Feb 06 10:48:58 2004 +0000
description:
Add official KDE patches to fix two kmail problems that can lead to mail
loss. Bump PKGREVISION.
diffstat:
misc/kdepim3/Makefile | 3 +-
misc/kdepim3/distinfo | 4 ++-
misc/kdepim3/patches/patch-aa | 46 +++++++++++++++++++++++++++++++++++++++++++
misc/kdepim3/patches/patch-ab | 35 ++++++++++++++++++++++++++++++++
4 files changed, 86 insertions(+), 2 deletions(-)
diffs (113 lines):
diff -r e6330496443a -r 453f9c7675e3 misc/kdepim3/Makefile
--- a/misc/kdepim3/Makefile Fri Feb 06 10:38:55 2004 +0000
+++ b/misc/kdepim3/Makefile Fri Feb 06 10:48:58 2004 +0000
@@ -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 -r e6330496443a -r 453f9c7675e3 misc/kdepim3/distinfo
--- a/misc/kdepim3/distinfo Fri Feb 06 10:38:55 2004 +0000
+++ b/misc/kdepim3/distinfo Fri Feb 06 10:48:58 2004 +0000
@@ -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 -r e6330496443a -r 453f9c7675e3 misc/kdepim3/patches/patch-aa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/kdepim3/patches/patch-aa Fri Feb 06 10:48:58 2004 +0000
@@ -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 -r e6330496443a -r 453f9c7675e3 misc/kdepim3/patches/patch-ab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/kdepim3/patches/patch-ab Fri Feb 06 10:48:58 2004 +0000
@@ -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);
Home |
Main Index |
Thread Index |
Old Index