diff options
author | Chenthill Palanisamy <pchen@src.gnome.org> | 2005-07-11 10:35:49 +0800 |
---|---|---|
committer | Chenthill Palanisamy <pchen@src.gnome.org> | 2005-07-11 10:35:49 +0800 |
commit | 24c212a1e2f400804387484b7515823dde4fce4b (patch) | |
tree | 192f1987c49aec88e54618e764c889abe167a49c /calendar/conduits | |
parent | d964dd2e8fe1add89fd6a4788501da6d4ae92375 (diff) | |
download | gsoc2013-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/conduits')
-rw-r--r-- | calendar/conduits/calendar/calendar-conduit.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/calendar/conduits/calendar/calendar-conduit.c b/calendar/conduits/calendar/calendar-conduit.c index f67a6b6f1e..d84fb72e83 100644 --- a/calendar/conduits/calendar/calendar-conduit.c +++ b/calendar/conduits/calendar/calendar-conduit.c @@ -654,7 +654,11 @@ process_multi_day (ECalConduitContext *ctxt, ECalChange *ccc, GList **multi_comp e_cal_component_get_uid (ccc->comp, &uid); /* FIXME Error handling */ - e_cal_remove_object (ctxt->client, uid, NULL); + if (e_cal_component_is_instance (ccc->comp) || e_cal_component_has_recurrences (ccc->comp)) + e_cal_remove_object_with_mod (ctxt->client, uid, NULL, CALOBJ_MOD_ALL, NULL); + else + e_cal_remove_object (ctxt->client, uid, NULL); + ccc->type = E_CAL_CHANGE_DELETED; cleanup: @@ -1749,7 +1753,10 @@ delete_record (GnomePilotConduitSyncAbs *conduit, e_pilot_map_remove_by_uid (ctxt->map, uid); /* FIXME Error handling */ - e_cal_remove_object (ctxt->client, uid, NULL); + if (e_cal_component_is_instance (local->comp) || e_cal_component_has_recurrences (local->comp)) + e_cal_remove_object_with_mod (ctxt->client, uid, NULL, CALOBJ_MOD_ALL, NULL); + else + e_cal_remove_object (ctxt->client, uid, NULL); return 0; } |