From 1c12da3c39cf36898cf336977a02578fe37d60b2 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 24 Apr 2009 20:41:00 +0200 Subject: Possible leak fix ** Part of fix for bug #571272 --- calendar/gui/e-cal-model.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'calendar/gui') diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c index 13d9d26c35..fd26779169 100644 --- a/calendar/gui/e-cal-model.c +++ b/calendar/gui/e-cal-model.c @@ -1336,10 +1336,13 @@ search_by_id_and_client (ECalModelPrivate *priv, ECal *client, const ECalCompone if (comp_data) { const char *uid; char *rid = NULL; + struct icaltimetype icalrid; gboolean has_rid = (id->rid && *id->rid); uid = icalcomponent_get_uid (comp_data->icalcomp); - rid = icaltime_as_ical_string_r (icalcomponent_get_recurrenceid (comp_data->icalcomp)); + icalrid = icalcomponent_get_recurrenceid (comp_data->icalcomp); + if (!icaltime_is_null_time (icalrid)) + rid = icaltime_as_ical_string_r (icalrid); if (uid && *uid) { if ((!client || comp_data->client == client) && !strcmp (id->uid, uid)) { @@ -1352,8 +1355,9 @@ search_by_id_and_client (ECalModelPrivate *priv, ECal *client, const ECalCompone g_free (rid); return comp_data; } - g_free (rid); } + + g_free (rid); } } -- cgit v1.2.3