aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2010-09-09 20:07:33 +0800
committerMilan Crha <mcrha@redhat.com>2010-09-09 20:07:33 +0800
commitcd920cab1adf6a8c73626fb423b9ede6b92a38db (patch)
tree7d09e63861b7363455df5e15c69b521f7a1a7b9c /calendar
parentb7a49911ebf9ddcd47057f4066942c3fcd59838a (diff)
downloadgsoc2013-evolution-cd920cab1adf6a8c73626fb423b9ede6b92a38db.tar.gz
gsoc2013-evolution-cd920cab1adf6a8c73626fb423b9ede6b92a38db.tar.zst
gsoc2013-evolution-cd920cab1adf6a8c73626fb423b9ede6b92a38db.zip
Bug #629089 - Accepting a meeting request sends a Tentative reply
Diffstat (limited to 'calendar')
-rw-r--r--calendar/gui/itip-utils.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/calendar/gui/itip-utils.c b/calendar/gui/itip-utils.c
index 28d95ac767..1c4ced6105 100644
--- a/calendar/gui/itip-utils.c
+++ b/calendar/gui/itip-utils.c
@@ -1037,6 +1037,36 @@ comp_minimal (ECalComponent *comp, gboolean attendee)
return NULL;
}
+static void
+strip_x_microsoft_props (ECalComponent *comp)
+{
+ GSList *lst = NULL, *l;
+ icalcomponent *icalcomp;
+ icalproperty *icalprop;
+
+ g_return_if_fail (comp != NULL);
+
+ icalcomp = e_cal_component_get_icalcomponent (comp);
+ g_return_if_fail (icalcomp != NULL);
+
+ for (icalprop = icalcomponent_get_first_property (icalcomp, ICAL_X_PROPERTY);
+ icalprop;
+ icalprop = icalcomponent_get_next_property (icalcomp, ICAL_X_PROPERTY)) {
+ const gchar *x_name = icalproperty_get_x_name (icalprop);
+
+ if (x_name && g_ascii_strncasecmp (x_name, "X-MICROSOFT-", 12) == 0)
+ lst = g_slist_prepend (lst, icalprop);
+ }
+
+ for (l = lst; l != NULL; l = l->next) {
+ icalprop = l->data;
+ icalcomponent_remove_property (icalcomp, icalprop);
+ icalproperty_free (icalprop);
+ }
+
+ g_slist_free (lst);
+}
+
static ECalComponent *
comp_compliant (ECalComponentItipMethod method, ECalComponent *comp, ECal *client, icalcomponent *zones, gboolean strip_alarms)
{
@@ -1121,6 +1151,8 @@ comp_compliant (ECalComponentItipMethod method, ECalComponent *comp, ECal *clien
cal_obj_uid_list_free (uids);
}
+ strip_x_microsoft_props (clone);
+
/* Strip X-LIC-ERROR stuff */
e_cal_component_strip_errors (clone);