* src/compose.c
authorChristoph Hohmann <reboot@gmx.ch>
Thu, 11 Jul 2002 20:55:37 +0000 (20:55 +0000)
committerChristoph Hohmann <reboot@gmx.ch>
Thu, 11 Jul 2002 20:55:37 +0000 (20:55 +0000)
* src/procmsg.c
        first use the message number to find the message
        to mark with a reply flag but check the
        message-id if we got the correct message, if not
        try to find it by message-id.
        use new string seperator that is not allowed
        in message-ids.

ChangeLog.claws
configure.in
src/compose.c
src/procmsg.c

index dc3ef71..aa03ea2 100644 (file)
@@ -1,3 +1,14 @@
+2002-07-11 [christoph] 0.7.8claws60
+
+       * src/compose.c
+       * src/procmsg.c
+               first use the message number to find the message
+               to mark with a reply flag but check the
+               message-id if we got the correct message, if not
+               try to find it by message-id.
+               use new string seperator that is not allowed
+               in message-ids.
+
 2002-07-11 [paul]      0.7.8claws59
 
        * sync with 0.7.8cvs23
index 21968d5..a551e24 100644 (file)
@@ -8,7 +8,7 @@ MINOR_VERSION=7
 MICRO_VERSION=8
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws59
+EXTRA_VERSION=claws60
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index 031720c..1d5f989 100644 (file)
@@ -3437,7 +3437,7 @@ static gint compose_queue_sub(Compose *compose, gint *msgnum, FolderItem **item,
                gchar *folderid;
                
                folderid = folder_item_get_identifier(compose->replyinfo->folder);
-               fprintf(fp, "RMID:%s%%%s\n", folderid, compose->replyinfo->msgid);
+               fprintf(fp, "RMID:%s\x7f%d\x7f%s\n", folderid, compose->replyinfo->msgnum, compose->replyinfo->msgid);
                g_free(folderid);
        }
        fprintf(fp, "\n");
index 2813f9c..a423aab 100644 (file)
@@ -1346,12 +1346,21 @@ gint procmsg_send_message_queue(const gchar *file)
                gchar **tokens;
                FolderItem *item;
                
-               tokens = g_strsplit(replymessageid, "%", 0);
+               tokens = g_strsplit(replymessageid, "\x7f", 0);
                item = folder_find_item_from_identifier(tokens[0]);
                if(item != NULL) {
                        MsgInfo *msginfo;
                        
-                       msginfo = folder_item_fetch_msginfo_by_id(item, tokens[1]);
+                       msginfo = folder_item_fetch_msginfo(item, atoi(tokens[1]));
+                       if((msginfo != NULL) && (strcmp(msginfo->msgid, tokens[2]) != 0)) {
+                               procmsg_msginfo_free(msginfo);
+                               msginfo = NULL;
+                       }
+                       
+                       if(msginfo == NULL) {
+                               msginfo = folder_item_fetch_msginfo_by_id(item, tokens[2]);
+                       }
+                       
                        if(msginfo != NULL) {
                                procmsg_msginfo_unset_flags(msginfo, MSG_FORWARDED, 0);
                                procmsg_msginfo_set_flags(msginfo, MSG_REPLIED, 0);