diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2016-06-25 18:01:36 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2016-06-25 18:10:33 +0300 |
commit | d4e435836dd9f903f641b55a0b5735e47dc4781f (patch) | |
tree | 568cdad41c856540bd6efa1899077804241b7055 /intern/cycles | |
parent | bfcf8c8e03612bfe2f6458566e9d0458f1e6f77b (diff) |
Cleanup/refactor RNA IDs' `remove` functions.
Those (one per ID type!) were uselessly duplicated, and badly inconsistent
(some types were actually unlinking before deletion, others were only working if already unlinked!).
Now we use same func and same API for all types, by default deletion is performed only if ID is no more used,
set `do_unlink` parameter to True to always delete ID even if still in use.
Only exception now is with Scene, since we always want to keep at least one!
Note that this will change default behavior of some types (since unlinking is never done anymore by default).
Diffstat (limited to 'intern/cycles')
-rw-r--r-- | intern/cycles/blender/blender_mesh.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 80db51148e6..4bd385c4200 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -801,7 +801,7 @@ Mesh *BlenderSync::sync_mesh(BL::Object& b_ob, } /* free derived mesh */ - b_data.meshes.remove(b_mesh); + b_data.meshes.remove(b_mesh, false); } } mesh->geometry_flags = requested_geometry_flags; @@ -1013,7 +1013,7 @@ void BlenderSync::sync_mesh_motion(BL::Object& b_ob, sync_curves(mesh, b_mesh, b_ob, true, time_index); /* free derived mesh */ - b_data.meshes.remove(b_mesh); + b_data.meshes.remove(b_mesh, false); } CCL_NAMESPACE_END |