aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog7
-rw-r--r--calendar/gui/comp-util.c9
2 files changed, 14 insertions, 2 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 08239c0b3d..da60afbed1 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,10 @@
+2006-08-23 Chenthill Palanisamy <pchenthill@novell.com>
+
+ Fixes #341691
+ * gui/comp-util.c: (cal_comp_is_on_server):
+ Do not send the recurrence id for backends which
+ support recurrence with master object.
+
2006-08-23 Matthew Barnes <mbarnes@redhat.com>
* gui/e-itip-control.c:
diff --git a/calendar/gui/comp-util.c b/calendar/gui/comp-util.c
index 32257b6be9..06425bc80c 100644
--- a/calendar/gui/comp-util.c
+++ b/calendar/gui/comp-util.c
@@ -205,7 +205,7 @@ cal_comp_util_compare_event_timezones (ECalComponent *comp,
gboolean
cal_comp_is_on_server (ECalComponent *comp, ECal *client)
{
- const char *uid, *rid;
+ const char *uid, *rid = NULL;
icalcomponent *icalcomp;
GError *error = NULL;
@@ -221,7 +221,12 @@ cal_comp_is_on_server (ECalComponent *comp, ECal *client)
* the user.
*/
e_cal_component_get_uid (comp, &uid);
- rid = e_cal_component_get_recurid_as_string (comp);
+
+ /*TODO We should not be checking for this here. But since e_cal_util_construct_instance does not
+ create the instances of all events, so we dafault to old behaviour */
+ if (e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_RECURRENCES_NO_MASTER)) {
+ rid = e_cal_component_get_recurid_as_string (comp);
+ }
if (e_cal_get_object (client, uid, rid, &icalcomp, &error)) {
icalcomponent_free (icalcomp);