From 68c604b095e63e92b9e02f1464e8f14dea920650 Mon Sep 17 00:00:00 2001 From: Yash Singh Date: Thu, 15 Jun 2017 02:43:47 +0530 Subject: [PATCH] manager: set 'rid' to NULL when 'All events' chosen Setting 'rid' to NULL in gcal_manager_update_event() when 'All events' chosen allows us to modify All and Future Instances of recurrent events correctly. https://bugzilla.gnome.org/show_bug.cgi?id=782755 --- src/gcal-manager.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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