Update of /cvsroot/mahogany/M/src/mail
In directory sc8-pr-cvs1:/tmp/cvs-serv25052/src/mail

Modified Files:
        MailFolder.cpp 
Log Message:
fixed strange bug: when replying in REPLY_LIST mode to a message with Reply-To == CC 
address, the address was added as CC, not TO

Index: MailFolder.cpp
===================================================================
RCS file: /cvsroot/mahogany/M/src/mail/MailFolder.cpp,v
retrieving revision 1.295
retrieving revision 1.296
diff -b -u -2 -r1.295 -r1.296
--- MailFolder.cpp      14 Oct 2002 21:48:18 -0000      1.295
+++ MailFolder.cpp      5 Dec 2002 02:54:50 -0000       1.296
@@ -563,8 +563,8 @@
                Profile *profile)
 {
+   // get the reply kind we use and also remember if it was explicitly chosen
+   // by the user or whether it is the default reply kind configured
    MailFolder::ReplyKind replyKind;
-   bool explicitReplyKind;
-
-   explicitReplyKind = GetReplyKind(params, profile, replyKind);
+   bool explicitReplyKind = GetReplyKind(params, profile, replyKind);
 
    // our own addresses - used in the code below
@@ -663,7 +663,4 @@
 
       otherAddresses.Add(msg->From());
-
-      // don't want to exclude the Reply-To addresses in the code below
-      replyToAddresses.Clear();
    }
    else // we already have used some addresses
@@ -731,6 +728,10 @@
    for ( n = 0; n < uniqueAddresses.GetCount(); n++ )
    {
-      String addr = uniqueAddresses[n];
-      if ( Message::FindAddress(replyToAddresses, addr) != wxNOT_FOUND ||
+      const String& addr = uniqueAddresses[n];
+
+      // in the list reply mode we shouldn't exclude Reply-To addresses as we
+      // haven't used them yet
+      if ( (replyKind != MailFolder::REPLY_LIST &&
+            Message::FindAddress(replyToAddresses, addr) != wxNOT_FOUND) ||
            Message::FindAddress(ownAddresses, addr) != wxNOT_FOUND )
       {
@@ -808,5 +809,7 @@
             // but if the dog was only cc'ed, we should keep cc'ing it
             rcptType =
-               Message::FindAddress(ccAddresses, address) == wxNOT_FOUND
+               Message::FindAddress(replyToAddresses, address) != wxNOT_FOUND
+                  ? Composer::Recipient_To
+                  : Message::FindAddress(ccAddresses, address) == wxNOT_FOUND
                   ? Composer::Recipient_To
                   : Composer::Recipient_Cc;



-------------------------------------------------------
This SF.net email is sponsored by: Microsoft Visual Studio.NET 
comprehensive development tool, built to increase your 
productivity. Try a free online hosted session at:
http://ads.sourceforge.net/cgi-bin/redirect.pl?micr0003en
_______________________________________________
Mahogany-cvsupdates mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates

Reply via email to