2007-09-16 [colin] 3.0.0cvs17
[claws.git] / src / messageview.c
index 78d0a5a263345d24c7d8c60853a016bf6b905b18..028f0d07e6b51b6900bff7d937000ef41be47abf 100644 (file)
@@ -588,7 +588,7 @@ static gint disposition_notification_send(MsgInfo *msginfo)
        if (ok != 0) {
                AlertValue val;
                gchar *message;
-               message = g_strdup_printf(
+               message = g_markup_printf_escaped(
                  _("The notification address to which the return receipt is\n"
                    "to be sent does not correspond to the return path:\n"
                    "Notification address: %s\n"
@@ -709,6 +709,16 @@ static gint disposition_notification_send(MsgInfo *msginfo)
        fprintf(fp, "Subject: Disposition notification: %s\n", buf);
 
        /* Message ID */
+       if (account->set_domain && account->domain) {
+               g_snprintf(buf, sizeof(buf), "%s", account->domain); 
+       } else if (!strncmp(get_domain_name(), "localhost", strlen("localhost"))) {
+               g_snprintf(buf, sizeof(buf), "%s", 
+                       strchr(account->address, '@') ?
+                               strchr(account->address, '@')+1 :
+                               account->address);
+       } else {
+               g_snprintf(buf, sizeof(buf), "%s", "");
+       }
        generate_msgid(buf, sizeof(buf));
        fprintf(fp, "Message-ID: <%s>\n", buf);
 
@@ -871,7 +881,9 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo,
        }
        mimeview_show_message(messageview->mimeview, mimeinfo, file);
        
+#ifndef MAEMO
        messageview_set_position(messageview, 0);
+#endif
 
        if (messageview->window && msginfo->subject) {
                subject = g_strdup(msginfo->subject);
@@ -953,12 +965,14 @@ void messageview_destroy(MessageView *messageview)
        debug_print("destroy messageview\n");
        messageview_list = g_list_remove(messageview_list, messageview);
 
-       if (messageview->mainwin->summaryview->messageview == messageview)
+       if (messageview->mainwin->summaryview->messageview == messageview) {
+               messageview->mainwin->summaryview->displayed = NULL;
                messageview->mainwin->summaryview->messageview = NULL;
-
-       if (messageview->mainwin->summaryview->ext_messageview == messageview)
+       }
+       if (messageview->mainwin->summaryview->ext_messageview == messageview) {
+               messageview->mainwin->summaryview->displayed = NULL;
                messageview->mainwin->summaryview->ext_messageview = NULL;
-
+       }
        if (!messageview->deferred_destroy) {
                hooks_unregister_hook(MSGINFO_UPDATE_HOOKLIST,
                              messageview->msginfo_update_callback_id);