evolution r36818 - in trunk: calendar calendar/gui calendar/gui/dialogs plugins/itip-formatter
- From: msuman svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution r36818 - in trunk: calendar calendar/gui calendar/gui/dialogs plugins/itip-formatter
- Date: Fri, 28 Nov 2008 08:04:21 +0000 (UTC)
Author: msuman
Date: Fri Nov 28 08:04:21 2008
New Revision: 36818
URL: http://svn.gnome.org/viewvc/evolution?rev=36818&view=rev
Log:
Fix for bug #561467 - some changes in the core code needed for evolution-mapi.
Modified:
trunk/calendar/ChangeLog
trunk/calendar/gui/dialogs/comp-editor.c
trunk/calendar/gui/itip-utils.c
trunk/plugins/itip-formatter/ChangeLog
trunk/plugins/itip-formatter/itip-formatter.c
Modified: trunk/calendar/gui/dialogs/comp-editor.c
==============================================================================
--- trunk/calendar/gui/dialogs/comp-editor.c (original)
+++ trunk/calendar/gui/dialogs/comp-editor.c Fri Nov 28 08:04:21 2008
@@ -3046,7 +3046,8 @@
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);
Modified: trunk/calendar/gui/itip-utils.c
==============================================================================
--- trunk/calendar/gui/itip-utils.c (original)
+++ trunk/calendar/gui/itip-utils.c Fri Nov 28 08:04:21 2008
@@ -1147,7 +1147,7 @@
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 @@
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);
Modified: trunk/plugins/itip-formatter/itip-formatter.c
==============================================================================
--- trunk/plugins/itip-formatter/itip-formatter.c (original)
+++ trunk/plugins/itip-formatter/itip-formatter.c Fri Nov 28 08:04:21 2008
@@ -1186,6 +1186,26 @@
}
+static void
+update_x (ECalComponent *pitip_comp, ECalComponent *comp)
+{
+ icalcomponent *itip_icalcomp = e_cal_component_get_icalcomponent (pitip_comp);
+ icalcomponent *icalcomp = e_cal_component_get_icalcomponent (comp);
+
+ icalproperty *prop = icalcomponent_get_first_property (itip_icalcomp, ICAL_X_PROPERTY);
+ while (prop) {
+ const char *name = icalproperty_get_x_name (prop);
+ if (!g_ascii_strcasecmp (name, "X-EVOLUTION-IS-REPLY")) {
+ icalproperty *new_prop = icalproperty_new_x (icalproperty_get_x (prop));
+ icalproperty_set_x_name (new_prop, "X-EVOLUTION-IS-REPLY");
+ icalcomponent_add_property (icalcomp, new_prop);
+ }
+ prop = icalcomponent_get_next_property (itip_icalcomp, ICAL_X_PROPERTY);
+ }
+
+ e_cal_component_set_icalcomponent (comp, icalcomp);
+}
+
static void
update_attendee_status (struct _itip_puri *pitip)
{
@@ -1286,6 +1306,8 @@
}
}
+ update_x (pitip->comp, comp);
+
if (itip_view_get_update (ITIP_VIEW (pitip->view))) {
e_cal_component_commit_sequence (comp);
itip_send_comp (E_CAL_COMPONENT_METHOD_REQUEST, comp, pitip->current_ecal, NULL, NULL, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]