From 4f015ce67a104d6c9476356394dc78443d6eb06f Mon Sep 17 00:00:00 2001 From: Suman Manjunath Date: Fri, 28 Nov 2008 08:04:21 +0000 Subject: Fix for bug #561467 - some changes in the core code needed for evolution-mapi. svn path=/trunk/; revision=36818 --- calendar/gui/dialogs/comp-editor.c | 3 ++- calendar/gui/itip-utils.c | 11 ++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'calendar/gui') diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index 198d60356c..4067861fc2 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -3046,7 +3046,8 @@ real_send_comp (CompEditor *editor, ECalComponentItipMethod method) set_attendees_for_delegation (send_comp, address, method); } - if (!e_cal_component_has_attachments (priv->comp)) { + if (!e_cal_component_has_attachments (priv->comp) + || e_cal_get_static_capability (priv->client, CAL_STATIC_CAPABILITY_CREATE_MESSAGES)) { if (itip_send_comp (method, send_comp, priv->client, NULL, NULL, users)) { g_object_unref (send_comp); diff --git a/calendar/gui/itip-utils.c b/calendar/gui/itip-utils.c index 5a954b5ff9..5b292e1901 100644 --- a/calendar/gui/itip-utils.c +++ b/calendar/gui/itip-utils.c @@ -1147,7 +1147,7 @@ itip_send_comp (ECalComponentItipMethod method, ECalComponent *send_comp, gchar *subject = NULL; gboolean retval = FALSE; - /* check whether backend could handle sending requests/updates */ + /* check whether backend could handle auto-saving requests/updates */ if (method != E_CAL_COMPONENT_METHOD_PUBLISH && e_cal_get_save_schedules (client)) return TRUE; @@ -1157,6 +1157,15 @@ itip_send_comp (ECalComponentItipMethod method, ECalComponent *send_comp, goto cleanup; } + /* check whether backend could handle sending requests/updates */ + if (method != E_CAL_COMPONENT_METHOD_PUBLISH && e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_CREATE_MESSAGES)) { + if (users) { + g_list_foreach (users, (GFunc) g_free, NULL); + g_list_free (users); + } + return TRUE; + } + /* Tidy up the comp */ comp = comp_compliant (method, send_comp, client, zones); -- cgit v1.2.3