aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-request.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/e-mail-request.c')
-rw-r--r--mail/e-mail-request.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/mail/e-mail-request.c b/mail/e-mail-request.c
index d440e675e0..49c5b5a47f 100644
--- a/mail/e-mail-request.c
+++ b/mail/e-mail-request.c
@@ -581,6 +581,11 @@ mail_request_finalize (GObject *object)
request->priv->ret_mime_type = NULL;
}
+ if (request->priv->efh) {
+ g_object_unref (request->priv->efh);
+ request->priv->efh = NULL;
+ }
+
G_OBJECT_CLASS (e_mail_request_parent_class)->finalize (object);
}
@@ -647,6 +652,9 @@ mail_request_send_async (SoupRequest *request,
g_return_if_fail (emr->priv->efh);
+ /* Make sure the formatter lives until we are finished here */
+ g_object_ref (emr->priv->efh);
+
result = g_simple_async_result_new (G_OBJECT (request), callback,
user_data, mail_request_send_async);
g_simple_async_result_run_in_thread (result, handle_mail_request,
@@ -674,6 +682,9 @@ mail_request_send_async (SoupRequest *request,
g_return_if_fail (emr->priv->efh);
+ /* Make sure the formatter lives until we are finished here */
+ g_object_ref (emr->priv->efh);
+
result = g_simple_async_result_new (G_OBJECT (request), callback,
user_data, mail_request_send_async);
g_simple_async_result_run_in_thread (result, handle_http_request,