[Bf-blender-cvs] [0a5ef40c2cd] master: Simulation: fix memory leak
Jacques Lucke
noreply at git.blender.org
Wed Jul 22 19:22:12 CEST 2020
Commit: 0a5ef40c2cd77a5c8dfdbcc888759fb0dab9e184
Author: Jacques Lucke
Date: Wed Jul 22 16:39:24 2020 +0200
Branches: master
https://developer.blender.org/rB0a5ef40c2cd77a5c8dfdbcc888759fb0dab9e184
Simulation: fix memory leak
===================================================================
M source/blender/blenkernel/intern/simulation.cc
M source/blender/simulation/intern/simulation_solver.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/simulation.cc b/source/blender/blenkernel/intern/simulation.cc
index 95340e4e29c..ac9c13e157c 100644
--- a/source/blender/blenkernel/intern/simulation.cc
+++ b/source/blender/blenkernel/intern/simulation.cc
@@ -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);
}
diff --git a/source/blender/simulation/intern/simulation_solver.cc b/source/blender/simulation/intern/simulation_solver.cc
index ee7a8d40035..1628d9cac15 100644
--- a/source/blender/simulation/intern/simulation_solver.cc
+++ b/source/blender/simulation/intern/simulation_solver.cc
@@ -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)) {
More information about the Bf-blender-cvs
mailing list