diff options
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/e-calendar-table.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/calendar/gui/e-calendar-table.c b/calendar/gui/e-calendar-table.c index 88952f9b7a..826075fe72 100644 --- a/calendar/gui/e-calendar-table.c +++ b/calendar/gui/e-calendar-table.c @@ -1423,7 +1423,8 @@ hide_completed_rows (ECalModel *model, GList *clients_list, char *hide_sexp, GPt pos = get_position_in_array (comp_objects, comp_data); e_table_model_row_deleted (E_TABLE_MODEL (model), pos); - g_ptr_array_remove (comp_objects, comp_data); + if (g_ptr_array_remove (comp_objects, comp_data)) + e_cal_model_free_component_data (comp_data); } e_cal_component_free_id (id); g_object_unref (comp); @@ -1460,7 +1461,7 @@ show_completed_rows (ECalModel *model, GList *clients_list, char *show_sexp, GPt if (!(e_cal_model_get_component_for_uid (model, id))) { e_table_model_pre_change (E_TABLE_MODEL (model)); comp_data = g_new0 (ECalModelComponent, 1); - comp_data->client = client; + comp_data->client = g_object_ref (client); comp_data->icalcomp = icalcomponent_new_clone (m->data); e_cal_model_set_instance_times (comp_data, e_cal_model_get_timezone (model)); |