diff options
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/comp-util.c | 9 |
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); |