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