aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/recur-comp.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/calendar/gui/dialogs/recur-comp.c b/calendar/gui/dialogs/recur-comp.c
index 1f5c2b39e9..cfffa29c69 100644
--- a/calendar/gui/dialogs/recur-comp.c
+++ b/calendar/gui/dialogs/recur-comp.c
@@ -116,9 +116,20 @@ recur_component_dialog (ECal *client,
*mod = CALOBJ_MOD_THISANDPRIOR;
else if (rb_future && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rb_future)))
*mod = CALOBJ_MOD_THISANDFUTURE;
- else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rb_all)))
+ else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rb_all))) {
*mod = CALOBJ_MOD_ALL;
+ /* remove the RECURRENCE-ID from the object if modifying ALL instances */
+ if (ret) {
+ icalproperty *prop;
+
+ prop = icalcomponent_get_first_property (e_cal_component_get_icalcomponent (comp),
+ ICAL_RECURRENCEID_PROPERTY);
+ if (prop)
+ icalcomponent_remove_property (e_cal_component_get_icalcomponent (comp), prop);
+ }
+ }
+
gtk_widget_destroy (dialog);
return ret;