[Bf-blender-cvs] [b7e02c677d2] blender2.8: Fix mesh_build_data() calling mesh_finalize_eval() before copying texspace.
Bastien Montagne
noreply at git.blender.org
Sun Nov 25 18:50:12 CET 2018
Commit: b7e02c677d2dc5c4d84bc670d4d9edda6bcbdda3
Author: Bastien Montagne
Date: Sun Nov 25 18:39:57 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBb7e02c677d2dc5c4d84bc670d4d9edda6bcbdda3
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. :(
===================================================================
M source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
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;
More information about the Bf-blender-cvs
mailing list