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() --- mail/e-mail-config-defaults-page.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'mail/e-mail-config-defaults-page.c') diff --git a/mail/e-mail-config-defaults-page.c b/mail/e-mail-config-defaults-page.c index ae4f14029d..9d54fb5eec 100644 --- a/mail/e-mail-config-defaults-page.c +++ b/mail/e-mail-config-defaults-page.c @@ -93,7 +93,7 @@ mail_config_defaults_page_maybe_get_settings (EMailConfigDefaultsPage *page) } static CamelStore * -mail_config_defaults_page_get_store (EMailConfigDefaultsPage *page) +mail_config_defaults_page_ref_store (EMailConfigDefaultsPage *page) { ESource *source; EMailSession *session; @@ -104,9 +104,17 @@ mail_config_defaults_page_get_store (EMailConfigDefaultsPage *page) source = e_mail_config_defaults_page_get_account_source (page); uid = e_source_get_uid (source); - service = camel_session_get_service (CAMEL_SESSION (session), uid); + service = camel_session_ref_service (CAMEL_SESSION (session), uid); - return CAMEL_IS_STORE (service) ? CAMEL_STORE (service) : NULL; + if (service == NULL) + return NULL; + + if (!CAMEL_IS_STORE (service)) { + g_object_unref (service); + return NULL; + } + + return CAMEL_STORE (service); } static gboolean @@ -185,8 +193,8 @@ mail_config_defaults_page_folder_name_to_uri (GBinding *binding, gchar *folder_uri = NULL; page = E_MAIL_CONFIG_DEFAULTS_PAGE (data); - store = mail_config_defaults_page_get_store (page); - g_return_val_if_fail (CAMEL_IS_STORE (store), FALSE); + store = mail_config_defaults_page_ref_store (page); + g_return_val_if_fail (store != NULL, FALSE); folder_name = g_value_get_string (source_value); @@ -197,6 +205,8 @@ mail_config_defaults_page_folder_name_to_uri (GBinding *binding, g_free (folder_uri); + g_object_unref (store); + return TRUE; } @@ -286,9 +296,6 @@ mail_config_defaults_page_add_real_folder (EMailConfigDefaultsPage *page, CamelStore *store; GObjectClass *class; - store = mail_config_defaults_page_get_store (page); - g_return_val_if_fail (CAMEL_IS_STORE (store), NULL); - session = e_mail_config_defaults_page_get_session (page); settings = mail_config_defaults_page_maybe_get_settings (page); @@ -306,6 +313,9 @@ mail_config_defaults_page_add_real_folder (EMailConfigDefaultsPage *page, if (g_object_class_find_property (class, use_property_name) == NULL) return NULL; + store = mail_config_defaults_page_ref_store (page); + g_return_val_if_fail (store != NULL, NULL); + /* We're good to go. */ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); @@ -352,6 +362,8 @@ mail_config_defaults_page_add_real_folder (EMailConfigDefaultsPage *page, G_CALLBACK (mail_config_defaults_page_restore_real_folder), check_button); + g_object_unref (store); + return box; } -- cgit v1.2.3