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));

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to