Simulation: fix memory leak

This commit is contained in:
Jacques Lucke
2020-07-22 16:39:24 +02:00
parent 750899fd31
commit 0a5ef40c2c
2 changed files with 2 additions and 0 deletions

View File

@@ -112,6 +112,7 @@ static void simulation_copy_data(Main *bmain, ID *id_dst, const ID *id_src, cons
BKE_simulation_state_copy_data(state_src, state_dst);
}
BLI_listbase_clear(&simulation_dst->persistent_data_handles);
BLI_duplicatelist(&simulation_dst->persistent_data_handles,
&simulation_src->persistent_data_handles);
}

View File

@@ -257,6 +257,7 @@ static void update_persistent_data_handles(Simulation &simulation,
PersistentDataHandleItem *, handle_item, &simulation.persistent_data_handles) {
if (handle_item->id == nullptr) {
BLI_remlink(&simulation.persistent_data_handles, handle_item);
MEM_freeN(handle_item);
continue;
}
if (!used_data_blocks.contains(handle_item->id)) {