aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/comp-util.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/comp-util.c')
-rw-r--r--calendar/gui/comp-util.c9
1 files changed, 7 insertions, 2 deletions
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);