From 6be2668e483cfc7a2e75ae2efcd9675388d08601 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 12 Aug 2012 08:58:50 -0400 Subject: Adapt to CamelSession API changes. These functions now return new references: camel_session_add_service() camel_session_list_services() These functions have been renamed and also return new references: camel_session_get_service() -> camel_session_ref_service() camel_session_get_service_by_url() -> camel_session_ref_service_by_url() --- libemail-engine/e-mail-session-utils.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'libemail-engine/e-mail-session-utils.c') diff --git a/libemail-engine/e-mail-session-utils.c b/libemail-engine/e-mail-session-utils.c index 2ac4170a2e..0694ea60a5 100644 --- a/libemail-engine/e-mail-session-utils.c +++ b/libemail-engine/e-mail-session-utils.c @@ -410,15 +410,25 @@ mail_session_send_to_thread (GSimpleAsyncResult *simple, CamelService *service; gboolean did_connect = FALSE; - service = camel_session_get_service ( + service = camel_session_ref_service ( CAMEL_SESSION (session), context->transport_uid); + if (service == NULL) { + g_simple_async_result_set_error ( + simple, CAMEL_SERVICE_ERROR, + CAMEL_SERVICE_ERROR_URL_INVALID, + _("No mail service found with UID '%s'"), + context->transport_uid); + return; + } + if (!CAMEL_IS_TRANSPORT (service)) { - g_simple_async_result_set_error (simple, - CAMEL_SERVICE_ERROR, + g_simple_async_result_set_error ( + simple, CAMEL_SERVICE_ERROR, CAMEL_SERVICE_ERROR_URL_INVALID, - _("Cannot get transport for account '%s'"), + _("UID '%s' is not a mail transport"), context->transport_uid); + g_object_unref (service); return; } @@ -431,6 +441,7 @@ mail_session_send_to_thread (GSimpleAsyncResult *simple, if (error != NULL) { g_simple_async_result_take_error (simple, error); + g_object_unref (service); return; } } @@ -450,6 +461,8 @@ mail_session_send_to_thread (GSimpleAsyncResult *simple, service, error == NULL, cancellable, error ? NULL : &error); + g_object_unref (service); + if (error != NULL) { g_simple_async_result_take_error (simple, error); return; -- cgit