Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGermano <germano.costa@ig.com.br>2018-05-28 19:46:04 +0300
committerGermano <germano.costa@ig.com.br>2018-05-28 19:47:05 +0300
commite9cf3b53471b5138d5b763822b04a7617b00be37 (patch)
tree977457b313c6a6ae0ba600ba3d40a01cbe240aeb /source/blender/depsgraph
parent46d7c55b171c24279be12b76e7a5669446181ed4 (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.cc20
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;
}