Fixed memory leak from bug #622040
[claws.git] / src / compose.c
index 25fbf420f6f9799efbda375bb1ccaa58a3b595e5..0628996d8b65f5178c3ea89763e82cd74fc90f86 100644 (file)
@@ -1037,7 +1037,7 @@ Compose *compose_forward(PrefsAccount *account, MsgInfo *msginfo,
                        else
                                qmark = "> ";
 
-                       quote_str = compose_quote_fmt(compose, msginfo,
+                       quote_str = compose_quote_fmt(compose, full_msginfo,
                                                      prefs_common.fw_quotefmt,
                                                      qmark, body);
                        compose_attach_parts(compose, msginfo);
@@ -1206,8 +1206,10 @@ void compose_reedit(MsgInfo *msginfo)
        if ((fp = procmime_get_first_text_content(msginfo)) == NULL)
                g_warning(_("Can't get text part\n"));
        else {
-               while (fgets(buf, sizeof(buf), fp) != NULL)
+               while (fgets(buf, sizeof(buf), fp) != NULL) {
+                       strcrchomp(buf);
                        gtk_stext_insert(text, NULL, NULL, NULL, buf, -1);
+               }
                fclose(fp);
        }
        compose_attach_parts(compose, msginfo);
@@ -3627,16 +3629,15 @@ static gint compose_queue_sub(Compose *compose, gint *msgnum, FolderItem **item,
                     cur = cur->next)
                        fprintf(fp, ",<%s>", (gchar *)cur->data);
                fprintf(fp, "\n");
-       } else
-       fprintf(fp, "\n");
+       }
        /* write newsgroup list */
-       fprintf(fp, "NG:");
        if (compose->newsgroup_list) {
+               fprintf(fp, "NG:");
                fprintf(fp, "%s", (gchar *)compose->newsgroup_list->data);
                for (cur = compose->newsgroup_list->next; cur != NULL; cur = cur->next)
                        fprintf(fp, ",%s", (gchar *)cur->data);
+               fprintf(fp, "\n");
        }
-       fprintf(fp, "\n");
        /* Sylpheed account IDs */
        if (mailac) {
                fprintf(fp, "MAID:%d\n", mailac->account_id);
@@ -4492,7 +4493,7 @@ GtkWidget *compose_create_attach(Compose *compose)
        /* drag and drop */
        gtk_drag_dest_set(attach_clist,
                          GTK_DEST_DEFAULT_ALL, compose_mime_types, 1,
-                         GDK_ACTION_COPY);
+                         GDK_ACTION_COPY | GDK_ACTION_MOVE);
        gtk_signal_connect(GTK_OBJECT(attach_clist), "drag_data_received",
                           GTK_SIGNAL_FUNC(compose_attach_drag_received_cb),
                           compose);
@@ -4773,7 +4774,7 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
 
        /* drag and drop */
        gtk_drag_dest_set(text, GTK_DEST_DEFAULT_ALL, compose_mime_types, 1,
-                         GDK_ACTION_COPY);
+                         GDK_ACTION_COPY | GDK_ACTION_MOVE);
        gtk_signal_connect(GTK_OBJECT(text), "drag_data_received",
                           GTK_SIGNAL_FUNC(compose_insert_drag_received_cb),
                           compose);
@@ -7006,7 +7007,7 @@ static void text_inserted(GtkWidget *widget, const gchar *text,
 
        
        if (prefs_common.autosave && 
-           EDITABLE_LENGTH(editable) % prefs_common.autosave_length == 0)
+           gtk_stext_get_length(GTK_STEXT(widget)) % prefs_common.autosave_length == 0)
                compose_draft_cb((gpointer)compose, 1, NULL);
 }