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/mail-vfolder.c | |
parent | 6456e814fae763ecd9dbdbe4d3caa952ddca0a3d (diff) | |
download | gsoc2013-evolution-6be2668e483cfc7a2e75ae2efcd9675388d08601.tar gsoc2013-evolution-6be2668e483cfc7a2e75ae2efcd9675388d08601.tar.gz gsoc2013-evolution-6be2668e483cfc7a2e75ae2efcd9675388d08601.tar.bz2 gsoc2013-evolution-6be2668e483cfc7a2e75ae2efcd9675388d08601.tar.lz gsoc2013-evolution-6be2668e483cfc7a2e75ae2efcd9675388d08601.tar.xz 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/mail-vfolder.c')
-rw-r--r-- | libemail-engine/mail-vfolder.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/libemail-engine/mail-vfolder.c b/libemail-engine/mail-vfolder.c index 233e6a0f02..3d695d625f 100644 --- a/libemail-engine/mail-vfolder.c +++ b/libemail-engine/mail-vfolder.c @@ -811,9 +811,9 @@ rule_changed (EFilterRule *rule, full_name = camel_folder_get_full_name (folder); session = get_session (folder); - service = camel_session_get_service ( + service = camel_session_ref_service ( CAMEL_SESSION (session), E_MAIL_SESSION_VFOLDER_UID); - g_return_if_fail (CAMEL_IS_SERVICE (service)); + g_return_if_fail (service != NULL); /* If the folder has changed name, then * add it, then remove the old manually. */ @@ -846,6 +846,9 @@ rule_changed (EFilterRule *rule, g_free (oldname); } + g_object_unref (service); + service = NULL; + d(printf("Filter rule changed? for folder '%s'!!\n", folder->name)); camel_vee_folder_set_auto_update (CAMEL_VEE_FOLDER (folder), @@ -910,9 +913,9 @@ context_rule_added (ERuleContext *ctx, d(printf("rule added: %s\n", rule->name)); - service = camel_session_get_service ( + service = camel_session_ref_service ( CAMEL_SESSION (session), E_MAIL_SESSION_VFOLDER_UID); - g_return_if_fail (CAMEL_IS_SERVICE (service)); + g_return_if_fail (service != NULL); /* this always runs quickly */ /* FIXME Not passing a GCancellable or GError. */ @@ -929,6 +932,8 @@ context_rule_added (ERuleContext *ctx, rule_changed (rule, folder); } + + g_object_unref (service); } static void @@ -941,9 +946,9 @@ context_rule_removed (ERuleContext *ctx, d(printf("rule removed; %s\n", rule->name)); - service = camel_session_get_service ( + service = camel_session_ref_service ( CAMEL_SESSION (session), E_MAIL_SESSION_VFOLDER_UID); - g_return_if_fail (CAMEL_IS_SERVICE (service)); + g_return_if_fail (service != NULL); /* TODO: remove from folder info cache? */ @@ -960,6 +965,8 @@ context_rule_removed (ERuleContext *ctx, /* this must be unref'd after its deleted */ if (folder) g_object_unref ((CamelFolder *) folder); + + g_object_unref (service); } static void |