diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-11-25 20:39:57 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-11-25 20:49:57 +0300 |
commit | b7e02c677d2dc5c4d84bc670d4d9edda6bcbdda3 (patch) | |
tree | ba1c0699100451c76bc7433af987dc6560bdc9e6 /source/blender/blenkernel/intern/DerivedMesh.c | |
parent | 2b97a250f6840ff8397375018e65bc9e09d386da (diff) |
Fix mesh_build_data() calling mesh_finalize_eval() before copying texspace.
mesh_finalize_eval() may set ob->data to evaluated mesh, needs to be
done *after* call to BKE_mesh_texspace_copy_from_object(), else that one
is meaningless.
Related to investigations on T57985, but does not solve it at all. :(
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 54aa46d8b85..992771d368d 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -2011,8 +2011,6 @@ static void mesh_build_data( depsgraph, scene, ob, NULL, 1, need_mapping, dataMask, -1, true, build_shapekey_layers, &ob->runtime.mesh_deform_eval, &ob->runtime.mesh_eval); - mesh_finalize_eval(ob); - #ifdef USE_DERIVEDMESH /* TODO(campbell): remove these copies, they are expected in various places over the code. */ ob->derivedDeform = CDDM_from_mesh_ex(ob->runtime.mesh_deform_eval, CD_REFERENCE, CD_MASK_MESH); @@ -2022,6 +2020,8 @@ static void mesh_build_data( BKE_object_boundbox_calc_from_mesh(ob, ob->runtime.mesh_eval); BKE_mesh_texspace_copy_from_object(ob->runtime.mesh_eval, ob); + mesh_finalize_eval(ob); + #ifdef USE_DERIVEDMESH ob->derivedFinal->needsFree = 0; ob->derivedDeform->needsFree = 0; |