aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog4
-rw-r--r--mail/mail-callbacks.c18
-rw-r--r--mail/mail-callbacks.h2
-rw-r--r--mail/mail-ops.c6
4 files changed, 19 insertions, 11 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index dc6ed7bc37..bfbb44d7f1 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,7 @@
+2001-02-11 Jeffrey Stedfast <fejj@ximian.com>
+
+ * mail-callbacks.c (forward_inlined): Don't leak memory.
+
2001-02-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (list_add_addresses): Check the full list of
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index 5546e85b60..aba7bee2ac 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -753,8 +753,8 @@ do_forward_attach(CamelFolder *folder, GPtrArray *messages, CamelMimePart *part,
}
}
-void
-forward_messages(CamelFolder *folder, GPtrArray *uids, int doinline)
+static void
+forward_messages (CamelFolder *folder, GPtrArray *uids, gboolean doinline)
{
if (doinline && uids->len == 1) {
mail_get_message(folder, uids->pdata[0], do_forward_inline, NULL, mail_thread_new);
@@ -766,15 +766,17 @@ forward_messages(CamelFolder *folder, GPtrArray *uids, int doinline)
void
forward_inlined (GtkWidget *widget, gpointer user_data)
{
+ FolderBrowser *fb = FOLDER_BROWSER (user_data);
GPtrArray *uids;
- FolderBrowser *fb = (FolderBrowser *)user_data;
-
+
if (!check_send_configuration (fb))
return;
-
- uids = g_ptr_array_new();
- g_ptr_array_add(uids, g_strdup (fb->message_list->cursor_uid));
- forward_messages(fb->message_list->folder, uids, TRUE);
+
+ uids = g_ptr_array_new ();
+ g_ptr_array_add (uids, g_strdup (fb->message_list->cursor_uid));
+ forward_messages (fb->message_list->folder, uids, TRUE);
+ g_free (uids->pdata[0]);
+ g_ptr_array_free (uids, TRUE);
}
void
diff --git a/mail/mail-callbacks.h b/mail/mail-callbacks.h
index 742df91121..65bf480227 100644
--- a/mail/mail-callbacks.h
+++ b/mail/mail-callbacks.h
@@ -79,7 +79,7 @@ void mail_reply (CamelFolder *folder, CamelMimeMessage *msg, const ch
void composer_send_cb (EMsgComposer *composer, gpointer data);
void composer_postpone_cb (EMsgComposer *composer, gpointer data);
-void forward_messages (CamelFolder *folder, GPtrArray *uids, int inline);
+void forward_messages (CamelFolder *folder, GPtrArray *uids, gboolean inline);
void mail_print_preview_msg (MailDisplay *md);
void mail_print_msg (MailDisplay *md);
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 48443f3d7c..77a140aaf4 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -1562,7 +1562,9 @@ static struct _mail_msg_op get_messages_op = {
};
void
-mail_get_messages(CamelFolder *folder, GPtrArray *uids, void (*done) (CamelFolder *folder, GPtrArray *uids, GPtrArray *msgs, void *data), void *data)
+mail_get_messages(CamelFolder *folder, GPtrArray *uids,
+ void (*done) (CamelFolder *folder, GPtrArray *uids, GPtrArray *msgs, void *data),
+ void *data)
{
struct _get_messages_msg *m;
@@ -1608,7 +1610,7 @@ runcleanup(GIOChannel *source, GIOCondition cond, void *d)
{
struct _op_data *o = d;
- printf("ggot notification, blup\n");
+ printf("got notification, blup\n");
o->op->cleanup(o->in, o->out, o->ex);