diff options
author | Harry Lu <harry.lu@sun.com> | 2003-10-24 00:10:09 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2003-10-24 00:10:09 +0800 |
commit | eca844b013c8de01e2b6dcdecffdf50e1ecab7b6 (patch) | |
tree | 631264e05bdd79eb9e43507eadfac45cd5f95620 /calendar/cal-client | |
parent | 39e56385b1abe6e053dd04004cc4fecbc0cf2d86 (diff) | |
download | gsoc2013-evolution-eca844b013c8de01e2b6dcdecffdf50e1ecab7b6.tar.gz gsoc2013-evolution-eca844b013c8de01e2b6dcdecffdf50e1ecab7b6.tar.zst gsoc2013-evolution-eca844b013c8de01e2b6dcdecffdf50e1ecab7b6.zip |
remove and free op before return.
2003-10-23 Harry Lu <harry.lu@sun.com>
* cal-client/cal-client.c: (cal_client_get_timezone): remove and free
op before return.
* gui/e-cal-view.c (e_cal_view_add_event): modified from
selection_received_add_event() so that it call be called out of
e-cal-view.c.
(selection_received): modified to call e_cal_view_add_event().
* gui/e-cal-view.h: add declaration for e_cal_view_add_event().
* gui/e-day-view.c (e_day_view_on_drag_data_get): Provide a
icalcomponent for both TARGET_CALENDAR_EVENT and TARGET_VCALENDAR.
(e_day_view_on_top_canvas_drag_data_received): If dragging between
different windows, make it works like a copy and paste.
(e_day_view_on_main_canvas_drag_data_received): ditto.
svn path=/trunk/; revision=23041
Diffstat (limited to 'calendar/cal-client')
-rw-r--r-- | calendar/cal-client/cal-client.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/calendar/cal-client/cal-client.c b/calendar/cal-client/cal-client.c index 8aea224485..91242a20c5 100644 --- a/calendar/cal-client/cal-client.c +++ b/calendar/cal-client/cal-client.c @@ -3482,13 +3482,22 @@ cal_client_get_timezone (CalClient *client, const char *tzid, icaltimezone **zon g_free (our_op->string); /* FIXME Invalid object status? */ - if (!icalcomp) + if (!icalcomp) { + e_calendar_remove_op (client, our_op); + e_mutex_unlock (our_op->mutex); + e_calendar_free_op (our_op); + E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OBJECT_NOT_FOUND, error); + } *zone = icaltimezone_new (); if (!icaltimezone_set_component (*zone, icalcomp)) { icaltimezone_free (*zone, 1); + e_calendar_remove_op (client, our_op); + e_mutex_unlock (our_op->mutex); + e_calendar_free_op (our_op); + E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OBJECT_NOT_FOUND, error); } |