Commit: 8afc4cf3ea4ffcfc1a60c2caeb27c532eaee4462
Author: Campbell Barton
Date:   Thu Dec 6 12:53:58 2018 +1100
Branches: blender2.8
https://developer.blender.org/rB8afc4cf3ea4ffcfc1a60c2caeb27c532eaee4462

Fix crazyspace transform w/ armatures

===================================================================

M       source/blender/blenkernel/intern/crazyspace.c
M       source/blender/editors/transform/transform_conversions.c

===================================================================

diff --git a/source/blender/blenkernel/intern/crazyspace.c 
b/source/blender/blenkernel/intern/crazyspace.c
index 71432ebee24..da4f14b5014 100644
--- a/source/blender/blenkernel/intern/crazyspace.c
+++ b/source/blender/blenkernel/intern/crazyspace.c
@@ -119,7 +119,7 @@ float (*BKE_crazyspace_get_mapped_editverts(
        /* now get the cage */
        vertexcos = MEM_mallocN(sizeof(*vertexcos) * nverts, "vertexcos map");
 
-       me_eval = editbmesh_get_eval_cage(depsgraph, scene, obedit, 
me->edit_btmesh, CD_MASK_BAREMESH);
+       me_eval = editbmesh_get_eval_cage_from_orig(depsgraph, scene, obedit, 
me->edit_btmesh, CD_MASK_BAREMESH);
 
        mesh_get_mapped_verts_coords(me_eval, vertexcos, nverts);
 
diff --git a/source/blender/editors/transform/transform_conversions.c 
b/source/blender/editors/transform/transform_conversions.c
index c111c1d3e73..c5e606b94c9 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -2711,9 +2711,15 @@ static void createTransEditVerts(TransInfo *t)
                if (modifiers_getCageIndex(t->scene, tc->obedit, NULL, 1) != 
-1) {
                        int totleft = -1;
                        if (modifiers_isCorrectableDeformed(t->scene, 
tc->obedit)) {
+                               /* Use evaluated state because we need b-bone 
cache. */
+                               Scene *scene_eval = (Scene 
*)DEG_get_evaluated_id(t->depsgraph, &t->scene->id);
+                               Object *obedit_eval = (Object 
*)DEG_get_evaluated_id(t->depsgraph, &tc->obedit->id);
+                               BMEditMesh *em_eval = 
BKE_editmesh_from_object(obedit_eval);
                                /* check if we can use deform matrices for 
modifier from the
                                 * start up to stack, they are more accurate 
than quats */
-                               totleft = 
BKE_crazyspace_get_first_deform_matrices_editbmesh(t->depsgraph, t->scene, 
tc->obedit, em, &defmats, &defcos);
+                               totleft = 
BKE_crazyspace_get_first_deform_matrices_editbmesh(
+                                       t->depsgraph, scene_eval, obedit_eval, 
em_eval,
+                                       &defmats, &defcos);
                        }
 
                        /* if we still have more modifiers, also do crazyspace

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

Reply via email to