diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2012-08-12 20:58:50 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2012-08-12 23:44:37 +0800 |
commit | 6be2668e483cfc7a2e75ae2efcd9675388d08601 (patch) | |
tree | 3f0d28830d54da205467bf973eea9895f8003b35 /libemail-engine/e-mail-session-utils.c | |
parent | 6456e814fae763ecd9dbdbe4d3caa952ddca0a3d (diff) | |
download | gsoc2013-evolution-6be2668e483cfc7a2e75ae2efcd9675388d08601.tar.gz gsoc2013-evolution-6be2668e483cfc7a2e75ae2efcd9675388d08601.tar.zst gsoc2013-evolution-6be2668e483cfc7a2e75ae2efcd9675388d08601.zip |
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()
Diffstat (limited to 'libemail-engine/e-mail-session-utils.c')
-rw-r--r-- | libemail-engine/e-mail-session-utils.c | 21 |
1 files changed, 17 insertions, 4 deletions
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; |