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