diff options
Diffstat (limited to 'calendar/pcs')
-rw-r--r-- | calendar/pcs/cal-backend-file.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/calendar/pcs/cal-backend-file.c b/calendar/pcs/cal-backend-file.c index de37203592..f1480a4b1d 100644 --- a/calendar/pcs/cal-backend-file.c +++ b/calendar/pcs/cal-backend-file.c @@ -1355,19 +1355,25 @@ cal_backend_file_compute_changes_foreach_key (const char *key, gpointer data) if (calobj == NULL) { CalComponent *comp; GNOME_Evolution_Calendar_CalObjChange *coc; + char *calobj; comp = cal_component_new (); if (be_data->type == GNOME_Evolution_Calendar_TYPE_TODO) cal_component_set_new_vtype (comp, CAL_COMPONENT_TODO); else cal_component_set_new_vtype (comp, CAL_COMPONENT_EVENT); + cal_component_set_uid (comp, key); + calobj = cal_component_get_as_string (comp); coc = GNOME_Evolution_Calendar_CalObjChange__alloc (); - coc->calobj = CORBA_string_dup (cal_component_get_as_string (comp)); + coc->calobj = CORBA_string_dup (calobj); coc->type = GNOME_Evolution_Calendar_DELETED; be_data->changes = g_list_prepend (be_data->changes, coc); be_data->change_ids = g_list_prepend (be_data->change_ids, g_strdup (key)); + + g_free (calobj); + gtk_object_unref (GTK_OBJECT (comp)); } } |