[Bf-blender-cvs] [db0563e995f] blender2.8: Fix re-entrant calls in some cases of mesh_evaluated generation.
Bastien Montagne
noreply at git.blender.org
Tue Jun 19 19:15:26 CEST 2018
Commit: db0563e995f4bb63e7a05faee3c08ea18d5a28eb
Author: Bastien Montagne
Date: Tue Jun 19 19:00:25 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBdb0563e995f4bb63e7a05faee3c08ea18d5a28eb
Fix re-entrant calls in some cases of mesh_evaluated generation.
`mesh_get_eval_final` and friends could call `mesh_build_data`, which in
paint/sculpt mode would call `BKE_sculpt_update_mesh_elements` which
would call `mesh_get_eval_final`... ugly!
===================================================================
M source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index b2542ace86e..5a4dc479c10 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -3017,8 +3017,9 @@ static void mesh_build_data(
if ((ob->mode & OB_MODE_ALL_SCULPT) && ob->sculpt) {
/* create PBVH immediately (would be created on the fly too,
* but this avoids waiting on first stroke) */
-
- BKE_sculpt_update_mesh_elements(depsgraph, scene, scene->toolsettings->sculpt, ob, false, false);
+ /* XXX Disabled for now.
+ * This can create horrible nasty bugs by generating re-entrant call of mesh_get_eval_final! */
+// BKE_sculpt_update_mesh_elements(depsgraph, scene, scene->toolsettings->sculpt, ob, false, false);
}
BLI_assert(!(ob->derivedFinal->dirty & DM_DIRTY_NORMALS));
More information about the Bf-blender-cvs
mailing list