aboutsummaryrefslogtreecommitdiffstats
path: root/modules/itip-formatter/itip-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/itip-formatter/itip-view.c')
-rw-r--r--modules/itip-formatter/itip-view.c28
1 files changed, 25 insertions, 3 deletions
diff --git a/modules/itip-formatter/itip-view.c b/modules/itip-formatter/itip-view.c
index 22621fe1da..77a3349efe 100644
--- a/modules/itip-formatter/itip-view.c
+++ b/modules/itip-formatter/itip-view.c
@@ -3545,7 +3545,8 @@ cal_opened_cb (GObject *source_object,
const gchar *uid;
GError *error = NULL;
- client = e_cal_client_connect_finish (result, &error);
+ client = e_client_cache_get_client_finish (
+ E_CLIENT_CACHE (source_object), result, &error);
/* Sanity check. */
g_return_if_fail (
@@ -3607,6 +3608,8 @@ start_calendar_server (EMailPartItip *pitip,
gpointer data)
{
ECalClient *client;
+ EClientCache *client_cache;
+ const gchar *extension_name = NULL;
g_return_if_fail (source != NULL);
@@ -3622,7 +3625,25 @@ start_calendar_server (EMailPartItip *pitip,
return;
}
- e_cal_client_connect (source, type, pitip->cancellable, func, data);
+ switch (type) {
+ case E_CAL_CLIENT_SOURCE_TYPE_EVENTS:
+ extension_name = E_SOURCE_EXTENSION_CALENDAR;
+ break;
+ case E_CAL_CLIENT_SOURCE_TYPE_MEMOS:
+ extension_name = E_SOURCE_EXTENSION_MEMO_LIST;
+ break;
+ case E_CAL_CLIENT_SOURCE_TYPE_TASKS:
+ extension_name = E_SOURCE_EXTENSION_TASK_LIST;
+ break;
+ default:
+ g_return_if_reached ();
+ }
+
+ client_cache = itip_view_get_client_cache (view);
+
+ e_client_cache_get_client (
+ client_cache, source, extension_name,
+ pitip->cancellable, func, data);
}
static void
@@ -4022,7 +4043,8 @@ find_cal_opened_cb (GObject *source_object,
const gchar *uid;
GError *error = NULL;
- client = e_cal_client_connect_finish (result, &error);
+ client = e_client_cache_get_client_finish (
+ E_CLIENT_CACHE (source_object), result, &error);
/* Sanity check. */
g_return_if_fail (