From 6a52b2cc19aa11400f33087280b95329f1e87ff9 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 18 Apr 2008 09:12:26 +0000 Subject: ** Fix for bug #509923 2008-04-18 Milan Crha ** Fix for bug #509923 * gui/dialogs/comp-editor.c: (real_send_comp): * gui/e-calendar-view.c: (e_calendar_view_modify_and_send): * gui/e-cal-model-calendar.c: (ecmc_set_value_at): Send changes based on the user's choice of "all instances" or "only this instance" for recurring events. * gui/e-cal-model-calendar.c: (ecmc_set_value_at): Also modify objects based on the user's choice. svn path=/trunk/; revision=35382 --- calendar/gui/dialogs/comp-editor.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'calendar/gui/dialogs/comp-editor.c') diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index 201a321a87..0662572690 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -2609,7 +2609,7 @@ static gboolean real_send_comp (CompEditor *editor, ECalComponentItipMethod method) { CompEditorPrivate *priv; - ECalComponent *send_comp; + ECalComponent *send_comp = NULL; char *address = NULL; GList *users = NULL; @@ -2618,7 +2618,24 @@ real_send_comp (CompEditor *editor, ECalComponentItipMethod method) priv = editor->priv; - send_comp = e_cal_component_clone (priv->comp); + if (priv->mod == CALOBJ_MOD_ALL && e_cal_component_is_instance (priv->comp)) { + /* Ensure we send the master object, not the instance only */ + icalcomponent *icalcomp = NULL; + const char *uid = NULL; + + e_cal_component_get_uid (priv->comp, &uid); + if (e_cal_get_object (priv->client, uid, NULL, &icalcomp, NULL) && icalcomp) { + send_comp = e_cal_component_new (); + if (!e_cal_component_set_icalcomponent (send_comp, icalcomp)) { + icalcomponent_free (icalcomp); + g_object_unref (send_comp); + send_comp = NULL; + } + } + } + + if (!send_comp) + send_comp = e_cal_component_clone (priv->comp); if (e_cal_component_get_vtype (send_comp) == E_CAL_COMPONENT_JOURNAL) get_users_from_memo_comp (send_comp, &users); -- cgit v1.2.3