Commit: f0a4c631bbac6247e3b3795681a3a31398f71c13
Author: Brecht Van Lommel
Date:   Fri Apr 13 12:51:49 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBf0a4c631bbac6247e3b3795681a3a31398f71c13

Fix incorrect object in editmode tests in depsgraph eval.

These cases should not depend on the view layer.

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

M       source/blender/blenkernel/intern/object_update.c
M       source/blender/modifiers/intern/MOD_meshdeform.c
M       source/blender/modifiers/intern/MOD_surfacedeform.c

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

diff --git a/source/blender/blenkernel/intern/object_update.c 
b/source/blender/blenkernel/intern/object_update.c
index 7904e479933..c70e07e6c4c 100644
--- a/source/blender/blenkernel/intern/object_update.c
+++ b/source/blender/blenkernel/intern/object_update.c
@@ -222,7 +222,7 @@ void BKE_object_handle_data_update(
        }
 
        /* particles */
-       if ((ob != OBEDIT_FROM_VIEW_LAYER(eval_ctx->view_layer)) && 
ob->particlesystem.first) {
+       if (!(ob->mode & OB_MODE_EDIT) && ob->particlesystem.first) {
                ParticleSystem *tpsys, *psys;
                DerivedMesh *dm;
                ob->transflag &= ~OB_DUPLIPARTS;
diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c 
b/source/blender/modifiers/intern/MOD_meshdeform.c
index 6bf735e1e5c..d7f4af8df63 100644
--- a/source/blender/modifiers/intern/MOD_meshdeform.c
+++ b/source/blender/modifiers/intern/MOD_meshdeform.c
@@ -298,7 +298,7 @@ static void meshdeformModifier_do(
         *
         * We'll support this case once granular dependency graph is landed.
         */
-       if (mmd->object == OBEDIT_FROM_VIEW_LAYER(eval_ctx->view_layer)) {
+       if (mmd->object->mode & OB_MODE_EDIT) {
                BMEditMesh *em = BKE_editmesh_from_object(mmd->object);
                tmpdm = editbmesh_get_derived_cage_and_final(eval_ctx, 
md->scene, mmd->object, em, 0, &cagedm);
                if (tmpdm)
diff --git a/source/blender/modifiers/intern/MOD_surfacedeform.c 
b/source/blender/modifiers/intern/MOD_surfacedeform.c
index b5fd1e55839..30b569207db 100644
--- a/source/blender/modifiers/intern/MOD_surfacedeform.c
+++ b/source/blender/modifiers/intern/MOD_surfacedeform.c
@@ -1096,7 +1096,7 @@ static void deformVert(
 }
 
 static void surfacedeformModifier_do(
-        ModifierData *md, const EvaluationContext *eval_ctx,
+        ModifierData *md,
         float (*vertexCos)[3], unsigned int numverts, Object *ob)
 {
        SurfaceDeformModifierData *smd = (SurfaceDeformModifierData *)md;
@@ -1110,7 +1110,7 @@ static void surfacedeformModifier_do(
        }
 
        /* Handle target mesh both in and out of edit mode */
-       if (smd->target == OBEDIT_FROM_VIEW_LAYER(eval_ctx->view_layer)) {
+       if (smd->target->mode & OB_MODE_EDIT) {
                BMEditMesh *em = BKE_editmesh_from_object(smd->target);
                tdm = em->derivedFinal;
        }
@@ -1181,21 +1181,21 @@ static void surfacedeformModifier_do(
 }
 
 static void deformVerts(
-        ModifierData *md, const struct EvaluationContext *eval_ctx,
+        ModifierData *md, const struct EvaluationContext *UNUSED(eval_ctx),
         Object *ob, DerivedMesh *UNUSED(derivedData),
         float (*vertexCos)[3], int numVerts,
         ModifierApplyFlag UNUSED(flag))
 {
-       surfacedeformModifier_do(md, eval_ctx, vertexCos, numVerts, ob);
+       surfacedeformModifier_do(md, vertexCos, numVerts, ob);
 }
 
 static void deformVertsEM(
-        ModifierData *md, const struct EvaluationContext *eval_ctx,
+        ModifierData *md, const struct EvaluationContext *UNUSED(eval_ctx),
         Object *ob, struct BMEditMesh *UNUSED(editData),
         DerivedMesh *UNUSED(derivedData),
         float (*vertexCos)[3], int numVerts)
 {
-       surfacedeformModifier_do(md, eval_ctx, vertexCos, numVerts, ob);
+       surfacedeformModifier_do(md, vertexCos, numVerts, ob);
 }
 
 static bool isDisabled(ModifierData *md, int UNUSED(useRenderParams))

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to