[evolution-mapi] Use camel_service_ref_session().
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-mapi] Use camel_service_ref_session().
- Date: Tue, 12 Feb 2013 01:47:31 +0000 (UTC)
commit 17d2df7f06f384b2633ea2a472d1255e65397aec
Author: Matthew Barnes <mbarnes redhat com>
Date: Mon Feb 11 10:44:02 2013 -0500
Use camel_service_ref_session().
src/camel/camel-mapi-store.c | 16 +++++++++++++---
src/camel/camel-mapi-transport.c | 6 +++++-
src/configuration/e-mapi-config-utils.c | 4 +++-
.../e-mapi-subscribe-foreign-folder.c | 4 +++-
4 files changed, 24 insertions(+), 6 deletions(-)
---
diff --git a/src/camel/camel-mapi-store.c b/src/camel/camel-mapi-store.c
index 396afc0..6b01562 100644
--- a/src/camel/camel-mapi-store.c
+++ b/src/camel/camel-mapi-store.c
@@ -2194,15 +2194,18 @@ mapi_connect_sync (CamelService *service,
return FALSE;
}
- session = camel_service_get_session (service);
+ session = camel_service_ref_session (service);
status = camel_service_get_connection_status (service);
if (status == CAMEL_SERVICE_DISCONNECTED) {
+ g_object_unref (session);
return FALSE;
}
- if (check_for_connection (service, NULL))
+ if (check_for_connection (service, NULL)) {
+ g_object_unref (session);
return TRUE;
+ }
name = camel_service_get_name (service, TRUE);
camel_operation_push_message (cancellable, _("Connecting to '%s'"), name);
@@ -2213,6 +2216,7 @@ mapi_connect_sync (CamelService *service,
if (!camel_session_authenticate_sync (session, service, empd.krb_sso ? "MAPIKRB" : NULL, cancellable, error)) {
camel_operation_pop_message (cancellable);
+ g_object_unref (session);
g_free (name);
return FALSE;
}
@@ -2226,6 +2230,7 @@ mapi_connect_sync (CamelService *service,
conn = camel_mapi_store_ref_connection (store, cancellable, error);
if (!conn) {
+ g_object_unref (session);
g_free (name);
return FALSE;
@@ -2260,6 +2265,8 @@ mapi_connect_sync (CamelService *service,
g_object_unref (conn);
g_free (name);
+ g_object_unref (session);
+
return TRUE;
}
@@ -2630,6 +2637,7 @@ mapi_authenticate_sync (CamelService *service,
{
CamelAuthenticationResult result;
CamelMapiStore *store = CAMEL_MAPI_STORE (service);
+ CamelSession *session;
CamelSettings *settings;
CamelMapiSettings *mapi_settings;
CamelNetworkSettings *network_settings;
@@ -2671,9 +2679,11 @@ mapi_authenticate_sync (CamelService *service,
password_str = g_string_new (password);
g_rec_mutex_lock (&store->priv->connection_lock);
+ session = camel_service_ref_session (service);
store->priv->connection = e_mapi_connection_new (
- e_mail_session_get_registry (E_MAIL_SESSION (camel_service_get_session (service))),
+ e_mail_session_get_registry (E_MAIL_SESSION (session)),
profile, password_str, cancellable, &mapi_error);
+ g_object_unref (session);
g_string_free (password_str, TRUE);
if (store->priv->connection && e_mapi_connection_connected (store->priv->connection)) {
result = CAMEL_AUTHENTICATION_ACCEPTED;
diff --git a/src/camel/camel-mapi-transport.c b/src/camel/camel-mapi-transport.c
index c477865..31dc8c5 100644
--- a/src/camel/camel-mapi-transport.c
+++ b/src/camel/camel-mapi-transport.c
@@ -104,9 +104,11 @@ mapi_send_to_sync (CamelTransport *transport,
if (!profile) {
/* try to find corresponding CamelStore with profile name filled */
const gchar *my_uid = camel_service_get_uid (service);
- CamelSession *session = camel_service_get_session (service);
+ CamelSession *session;
GList *services, *s;
+ session = camel_service_ref_session (service);
+
services = camel_session_list_services (session);
for (s = services; s && my_uid && !profile; s = s->next) {
CamelService *store = s->data;
@@ -129,6 +131,8 @@ mapi_send_to_sync (CamelTransport *transport,
}
g_list_free_full (services, g_object_unref);
+
+ g_object_unref (session);
}
conn = e_mapi_connection_find (profile);
diff --git a/src/configuration/e-mapi-config-utils.c b/src/configuration/e-mapi-config-utils.c
index fba01c4..9199d9b 100644
--- a/src/configuration/e-mapi-config-utils.c
+++ b/src/configuration/e-mapi-config-utils.c
@@ -664,7 +664,7 @@ action_folder_size_cb (GtkAction *action,
ESourceRegistry *registry;
ESource *source;
- session = camel_service_get_session (CAMEL_SERVICE (store));
+ session = camel_service_ref_session (CAMEL_SERVICE (store));
registry = e_mail_session_get_registry (E_MAIL_SESSION (session));
source = e_source_registry_ref_source (registry, camel_service_get_uid (CAMEL_SERVICE (store)));
@@ -676,6 +676,8 @@ action_folder_size_cb (GtkAction *action,
g_object_unref (settings);
g_object_unref (source);
+
+ g_object_unref (session);
}
g_free (profile);
diff --git a/src/configuration/e-mapi-subscribe-foreign-folder.c b/src/configuration/e-mapi-subscribe-foreign-folder.c
index 205de55..3cff9fa 100644
--- a/src/configuration/e-mapi-subscribe-foreign-folder.c
+++ b/src/configuration/e-mapi-subscribe-foreign-folder.c
@@ -413,7 +413,7 @@ check_foreign_folder_idle (GObject *with_object,
g_object_unref (settings);
- session = camel_service_get_session (CAMEL_SERVICE (mapi_store));
+ session = camel_service_ref_session (CAMEL_SERVICE (mapi_store));
if (E_IS_MAIL_SESSION (session))
registry = e_mail_session_get_registry (E_MAIL_SESSION (session));
@@ -439,6 +439,8 @@ check_foreign_folder_idle (GObject *with_object,
cffd->folder_id = 0;
}
+ g_object_unref (session);
+
g_free (folder_name);
g_free (profile);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]