diff options
author | Milan Crha <mcrha@redhat.com> | 2008-01-25 22:10:07 +0800 |
---|---|---|
committer | Milan Crha <mcrha@src.gnome.org> | 2008-01-25 22:10:07 +0800 |
commit | 34da45d5d6f03a24f32edf8a41a783ad489f9296 (patch) | |
tree | e8c479e2cd57bc82eae49205ef9accb0d953a479 /calendar/gui/e-week-view.c | |
parent | c4046c56365033ebc17c21f4bda6411ffe5bf1fc (diff) | |
download | gsoc2013-evolution-34da45d5d6f03a24f32edf8a41a783ad489f9296.tar.gz gsoc2013-evolution-34da45d5d6f03a24f32edf8a41a783ad489f9296.tar.zst gsoc2013-evolution-34da45d5d6f03a24f32edf8a41a783ad489f9296.zip |
** Fix for bug #475781
2008-01-25 Milan Crha <mcrha@redhat.com>
** Fix for bug #475781
* plugins/save-calendar/csv-format.c: (do_save_calendar_csv):
* plugins/save-calendar/rdf-format.c: (do_save_calendar_rdf):
* plugins/itip-formatter/itip-formatter.c: (format_itip_object):
* calendar/gui/dialogs/recurrence-page.c: (fill_ending_date),
(recurrence_page_fill_widgets):
* calendar/gui/dialogs/memo-page.c: (memo_page_fill_widgets):
* calendar/gui/e-day-view.c: 2*(e_day_view_finish_long_event_resize),
2*(e_day_view_on_editing_stopped):
* calendar/gui/itip-utils.c: (comp_compliant), (reply_to_calendar_comp):
* calendar/gui/e-week-view.c: (e_week_view_on_editing_stopped):
* calendar/gui/e-calendar-view.c: (e_calendar_view_add_event),
(e_calendar_view_get_tooltips):
* calendar/gui/e-cal-component-preview.c: (write_html):
* calendar/gui/e-cal-component-memo-preview.c: (write_html):
* calendar/gui/e-cal-model.c: (add_instance_cb):
Fix memory leaks around ECalComponentDateTime.
svn path=/trunk/; revision=34895
Diffstat (limited to 'calendar/gui/e-week-view.c')
-rw-r--r-- | calendar/gui/e-week-view.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index f638fb9a91..cca54b0d22 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -3532,20 +3532,27 @@ e_week_view_on_editing_stopped (EWeekView *week_view, if (mod == CALOBJ_MOD_THIS) { ECalComponentDateTime dt; + struct icaltimetype tt; + char *tzid; e_cal_component_get_dtstart (comp, &dt); if (dt.value->zone) { - *dt.value = icaltime_from_timet_with_zone ( + tt = icaltime_from_timet_with_zone ( event->comp_data->instance_start, dt.value->is_date, dt.value->zone); } else { - *dt.value = icaltime_from_timet_with_zone ( + tt = icaltime_from_timet_with_zone ( event->comp_data->instance_start, dt.value->is_date, e_calendar_view_get_timezone (E_CALENDAR_VIEW (week_view))); } + tzid = g_strdup (dt.tzid); + e_cal_component_free_datetime (&dt); + dt.value = &tt; + dt.tzid = tzid; e_cal_component_set_dtstart (comp, &dt); + g_free (tzid); e_cal_component_get_dtend (comp, &dt); if (dt.value->zone) { @@ -3559,7 +3566,12 @@ e_week_view_on_editing_stopped (EWeekView *week_view, dt.value->is_date, e_calendar_view_get_timezone (E_CALENDAR_VIEW (week_view))); } + tzid = g_strdup (dt.tzid); + e_cal_component_free_datetime (&dt); + dt.value = &tt; + dt.tzid = tzid; e_cal_component_set_dtend (comp, &dt); + g_free (tzid); e_cal_component_set_rdate_list (comp, NULL); e_cal_component_set_rrule_list (comp, NULL); |