[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