aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@ximian.com>2002-03-06 20:07:26 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2002-03-06 20:07:26 +0800
commit3b59224e6f092157978560686037d37a08158aab (patch)
treebe233cb6b0d1981dd775a3f3745b1edeaeb7f280
parentf0ca248aed0b9a9f82022d2695e6b90778a845be (diff)
downloadgsoc2013-evolution-3b59224e6f092157978560686037d37a08158aab.tar.gz
gsoc2013-evolution-3b59224e6f092157978560686037d37a08158aab.tar.zst
gsoc2013-evolution-3b59224e6f092157978560686037d37a08158aab.zip
reverted my last change of adding the METHOD property to the incoming
2002-03-05 Rodrigo Moya <rodrigo@ximian.com> * gui/e-itip-control.c (e_itip_control_set_data): reverted my last change of adding the METHOD property to the incoming request. * gui/itip-utils.c (comp_string): added extra X-MICROSOFT-CDO-REPLYTIME property for broken Outlook. Should fix #20783. svn path=/trunk/; revision=15940
-rw-r--r--calendar/ChangeLog9
-rw-r--r--calendar/gui/e-itip-control.c2
-rw-r--r--calendar/gui/itip-utils.c28
3 files changed, 37 insertions, 2 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index c890f972aa..efebc9d146 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,12 @@
+2002-03-05 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/e-itip-control.c (e_itip_control_set_data): reverted my last
+ change of adding the METHOD property to the incoming request.
+
+ * gui/itip-utils.c (comp_string): added extra
+ X-MICROSOFT-CDO-REPLYTIME property for broken Outlook. Should fix
+ #20783.
+
2002-03-04 Dan Winship <danw@ximian.com>
* gui/itip-utils.c (comp_compliant): Reset the DTSTAMP of the new
diff --git a/calendar/gui/e-itip-control.c b/calendar/gui/e-itip-control.c
index b0e9ce81bc..cac16500cf 100644
--- a/calendar/gui/e-itip-control.c
+++ b/calendar/gui/e-itip-control.c
@@ -1237,8 +1237,6 @@ e_itip_control_set_data (EItipControl *itip, const gchar *text)
}
priv->method = icalproperty_get_method (prop);
- prop = icalproperty_new_method (priv->method);
- icalcomponent_add_property (priv->top_level, prop);
tz_iter = icalcomponent_begin_component (priv->main_comp, ICAL_VTIMEZONE_COMPONENT);
while ((tz_comp = icalcompiter_deref (&tz_iter)) != NULL) {
diff --git a/calendar/gui/itip-utils.c b/calendar/gui/itip-utils.c
index ee4566c42f..ee0d78b0b6 100644
--- a/calendar/gui/itip-utils.c
+++ b/calendar/gui/itip-utils.c
@@ -430,6 +430,34 @@ comp_string (CalComponentItipMethod method, CalComponent *comp, CalClient *clien
icalcomponent_add_property (top_level, prop);
icomp = cal_component_get_icalcomponent (comp);
+
+ if (method == CAL_COMPONENT_METHOD_REPLY) {
+ struct icaltimetype dtstamp;
+ gboolean add_it = FALSE;
+
+ /* workaround for Outlook expecting a X-MICROSOFT-CDO-REPLYTIME
+ on every METHOD=REPLY message. If the component has any of
+ the X-MICROSOFT-* properties, we add the REPLYTIME one */
+ prop = icalcomponent_get_first_property (icomp, ICAL_X_PROPERTY);
+ while (prop) {
+ const char *x_name;
+
+ x_name = icalproperty_get_x_name (prop);
+ if (!strncmp (x_name, "X-MICROSOFT-", strlen ("X-MICROSOFT-"))) {
+ add_it = TRUE;
+ break;
+ }
+ prop = icalcomponent_get_next_property (icomp, ICAL_X_PROPERTY);
+ }
+
+ if (add_it) {
+ dtstamp = icaltime_from_timet_with_zone (
+ time (NULL), 0, icaltimezone_get_utc_timezone ());
+ prop = icalproperty_new_x (icaltime_as_ical_string (dtstamp));
+ icalproperty_set_x_name (prop, "X-MICROSOFT-CDO-REPLYTIME");
+ icalcomponent_add_property (icomp, prop);
+ }
+ }
/* Add the timezones */
tz_data.tzids = g_hash_table_new (g_str_hash, g_str_equal);