aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-04-25 02:41:00 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-04-28 20:03:33 +0800
commit1c12da3c39cf36898cf336977a02578fe37d60b2 (patch)
treed3a6f1d6ccbdd0f2428b3b4f95cf2e319d528684 /calendar/gui
parentd9b8a249c4778ba2c385af244661b2e94e360ccf (diff)
downloadgsoc2013-evolution-1c12da3c39cf36898cf336977a02578fe37d60b2.tar.gz
gsoc2013-evolution-1c12da3c39cf36898cf336977a02578fe37d60b2.tar.zst
gsoc2013-evolution-1c12da3c39cf36898cf336977a02578fe37d60b2.zip
Possible leak fix
** Part of fix for bug #571272
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/e-cal-model.c8
1 files changed, 6 insertions, 2 deletions
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);
}
}