From d158af8cdfa6e4bf85c1e74769e8d61bc469494c Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 10 Dec 2008 18:30:29 +0000 Subject: Merge revisions 36811:36865 from trunk. svn path=/branches/kill-bonobo/; revision=36867 --- plugins/itip-formatter/ChangeLog | 8 ++++++++ plugins/itip-formatter/itip-formatter.c | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) (limited to 'plugins/itip-formatter') diff --git a/plugins/itip-formatter/ChangeLog b/plugins/itip-formatter/ChangeLog index 966cc611e7..c04825312f 100644 --- a/plugins/itip-formatter/ChangeLog +++ b/plugins/itip-formatter/ChangeLog @@ -1,3 +1,11 @@ +2008-11-28 Suman Manjunath + + ** Fix for bug #561467 + + * itip-formatter.c (update_x), (update_attendee_status): Copy + required X-* properties . This might be needed for special cases + in certain backends. + 2008-11-06 Patrick Ohly ** Fix for bug #541121 diff --git a/plugins/itip-formatter/itip-formatter.c b/plugins/itip-formatter/itip-formatter.c index ae7190174b..61d2234bd8 100644 --- a/plugins/itip-formatter/itip-formatter.c +++ b/plugins/itip-formatter/itip-formatter.c @@ -1186,6 +1186,26 @@ remove_delegate (struct _itip_puri *pitip, const char *delegate, const char *del } +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_attendee_status (struct _itip_puri *pitip) } } + 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); -- cgit v1.2.3