Simulation: fix memory leak
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user