diff --git a/src/gcal-manager.c b/src/gcal-manager.c index f3bfa68e..93a645f3 100644 --- a/src/gcal-manager.c +++ b/src/gcal-manager.c @@ -1770,6 +1770,15 @@ gcal_manager_update_event (GcalManager *manager, unit = g_hash_table_lookup (manager->clients, gcal_event_get_source (event)); component = gcal_event_get_component (event); + /* + * HACK: In Evolution Calendar, a NULL 'rid' is usually associated + * with an E_CAL_OBJ_MOD_ALL modtype. Here, we are manually setting + * the rid to NULL when modifying a recurrent event with MOD_ALL + * modtype. + */ + if (mod == E_CAL_OBJ_MOD_ALL) + e_cal_component_set_recurid (component, NULL); + /* * While we're updating the event, we don't want the component * to be destroyed, so take a reference of the component while