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
This commit is contained in:
Yash Singh
2017-06-14 18:28:54 -03:00
committed by Georges Basile Stavracas Neto
parent be9da0cbda
commit 68c604b095
+9
View File
@@ -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