diff options
Diffstat (limited to 'mail/mail-threads.c')
-rw-r--r-- | mail/mail-threads.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mail/mail-threads.c b/mail/mail-threads.c index cf3528dfb1..8fe170eea2 100644 --- a/mail/mail-threads.c +++ b/mail/mail-threads.c @@ -300,6 +300,11 @@ mail_operation_queue (const mail_operation_spec * spec, gpointer input, } /* else add self to queue */ write (DISPATCH_WRITER, clur, sizeof (closure_t)); + /* dispatch allocates a separate buffer + * to hold the closure; it's in the pipe and + * can safely be freed + */ + g_free (clur); queue_len++; return TRUE; } @@ -865,7 +870,7 @@ get_password (com_msg_t * msg) if (button == 1 || *(msg->reply) == NULL) { *(msg->success) = FALSE; *(msg->reply) = g_strdup (_("User cancelled query.")); - } else if (button > 0) { + } else if (button >= 0) { *(msg->success) = TRUE; } |