diff options
author | Germano <germano.costa@ig.com.br> | 2018-05-28 19:46:04 +0300 |
---|---|---|
committer | Germano <germano.costa@ig.com.br> | 2018-05-28 19:47:05 +0300 |
commit | e9cf3b53471b5138d5b763822b04a7617b00be37 (patch) | |
tree | 977457b313c6a6ae0ba600ba3d40a01cbe240aeb /source/blender/depsgraph | |
parent | 46d7c55b171c24279be12b76e7a5669446181ed4 (diff) |
CoW: Skip pointers that are used in Lattice edit mode.
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc index 7553c9ea644..0e8d4669108 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc @@ -438,6 +438,14 @@ void update_mball_edit_mode_pointers(const Depsgraph * /*depsgraph*/, mball_cow->editelems = mball_orig->editelems; } +void update_lattice_edit_mode_pointers(const Depsgraph * /*depsgraph*/, + const ID *id_orig, ID *id_cow) +{ + const Lattice *lt_orig = (const Lattice *)id_orig; + Lattice *lt_cow = (Lattice *)id_cow; + lt_cow->editlatt = lt_orig->editlatt; +} + void update_mesh_edit_mode_pointers(const Depsgraph *depsgraph, const ID *id_orig, ID *id_cow) { @@ -480,6 +488,9 @@ void update_edit_mode_pointers(const Depsgraph *depsgraph, case ID_MB: update_mball_edit_mode_pointers(depsgraph, id_orig, id_cow); break; + case ID_LT: + update_lattice_edit_mode_pointers(depsgraph, id_orig, id_cow); + break; default: break; } @@ -833,6 +844,12 @@ void discard_mball_edit_mode_pointers(ID *id_cow) mball_cow->editelems = NULL; } +void discard_lattice_edit_mode_pointers(ID *id_cow) +{ + Lattice *lt_cow = (Lattice *)id_cow; + lt_cow->editlatt = NULL; +} + void discard_mesh_edit_mode_pointers(ID *id_cow) { Mesh *mesh_cow = (Mesh *)id_cow; @@ -863,6 +880,9 @@ void discard_edit_mode_pointers(ID *id_cow) case ID_MB: discard_mball_edit_mode_pointers(id_cow); break; + case ID_LT: + discard_lattice_edit_mode_pointers(id_cow); + break; default: break; } |