aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/gnome-cal.c
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchen@src.gnome.org>2005-07-11 10:35:49 +0800
committerChenthill Palanisamy <pchen@src.gnome.org>2005-07-11 10:35:49 +0800
commit24c212a1e2f400804387484b7515823dde4fce4b (patch)
tree192f1987c49aec88e54618e764c889abe167a49c /calendar/gui/gnome-cal.c
parentd964dd2e8fe1add89fd6a4788501da6d4ae92375 (diff)
downloadgsoc2013-evolution-24c212a1e2f400804387484b7515823dde4fce4b.tar
gsoc2013-evolution-24c212a1e2f400804387484b7515823dde4fce4b.tar.gz
gsoc2013-evolution-24c212a1e2f400804387484b7515823dde4fce4b.tar.bz2
gsoc2013-evolution-24c212a1e2f400804387484b7515823dde4fce4b.tar.lz
gsoc2013-evolution-24c212a1e2f400804387484b7515823dde4fce4b.tar.xz
gsoc2013-evolution-24c212a1e2f400804387484b7515823dde4fce4b.tar.zst
gsoc2013-evolution-24c212a1e2f400804387484b7515823dde4fce4b.zip
Use e_cal_remove_object for non-recurring appointments. Fixed some memory leaks.
svn path=/trunk/; revision=29703
Diffstat (limited to 'calendar/gui/gnome-cal.c')
-rw-r--r--calendar/gui/gnome-cal.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index 0a42ce13ee..a672b534ff 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -3326,8 +3326,14 @@ gnome_calendar_purge (GnomeCalendar *gcal, time_t older_than)
&remove);
/* FIXME Better error handling */
- if (remove)
- e_cal_remove_object (client, icalcomponent_get_uid (m->data), NULL);
+ if (remove) {
+ const char *uid = icalcomponent_get_uid (m->data);
+
+ if (e_cal_util_component_is_instance (m->data) || e_cal_util_component_has_recurrences (m->data))
+ e_cal_remove_object_with_mod (client, uid, NULL, CALOBJ_MOD_ALL, NULL);
+ else
+ e_cal_remove_object (client, uid, NULL);
+ }
}
g_list_foreach (objects, (GFunc) icalcomponent_free, NULL);