Fix #35174: dynamic paint displacement missing in render.
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Thu, 2 May 2013 14:42:05 +0000 (14:42 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Thu, 2 May 2013 14:42:05 +0000 (14:42 +0000)
A previous bugfix disabled the dynamic paint modifier for orco texture
coordinate evaluation of the modifier stack. However the MOD_APPLY_USECACHE
flag is not a good way to check if the modifier is evaluated for orcos.

Instead I've added a MOD_APPLY_ORCO flag. Also removed a bunch of
applyModifierEM callbacks, none of them served a purpose except for the
subsurf modifier.

20 files changed:
source/blender/blenkernel/BKE_modifier.h
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/displist.c
source/blender/modifiers/intern/MOD_array.c
source/blender/modifiers/intern/MOD_bevel.c
source/blender/modifiers/intern/MOD_dynamicpaint.c
source/blender/modifiers/intern/MOD_edgesplit.c
source/blender/modifiers/intern/MOD_mirror.c
source/blender/modifiers/intern/MOD_ocean.c
source/blender/modifiers/intern/MOD_particleinstance.c
source/blender/modifiers/intern/MOD_screw.c
source/blender/modifiers/intern/MOD_skin.c
source/blender/modifiers/intern/MOD_solidify.c
source/blender/modifiers/intern/MOD_subsurf.c
source/blender/modifiers/intern/MOD_triangulate.c
source/blender/modifiers/intern/MOD_uvproject.c
source/blender/modifiers/intern/MOD_uvwarp.c
source/blender/modifiers/intern/MOD_weightvgedit.c
source/blender/modifiers/intern/MOD_weightvgmix.c
source/blender/modifiers/intern/MOD_weightvgproximity.c

index cf79aaff55c0c0cbae988c1a91e844b34ee89f42..955df65d00d51c650dc49e91315ba20b86e1ab84 100644 (file)
@@ -111,7 +111,9 @@ typedef void (*TexWalkFunc)(void *userData, struct Object *ob, struct ModifierDa
 
 typedef enum ModifierApplyFlag {
        MOD_APPLY_RENDER = 1 << 0,       /* Render time. */
-       MOD_APPLY_USECACHE = 1 << 1,     /* Final result. Is not set for temporary calculations like orco dms. */
+       MOD_APPLY_USECACHE = 1 << 1,     /* Result of evaluation will be cached, so modifier might
+                                         * want to cache data for quick updates (used by subsurf) */
+       MOD_APPLY_ORCO = 1 << 2          /* Modifier evaluated for undeformed texture coordinates */
 } ModifierApplyFlag;
 
 
@@ -200,7 +202,8 @@ typedef struct ModifierTypeInfo {
         */
        struct DerivedMesh *(*applyModifierEM)(struct ModifierData *md, struct Object *ob,
                                               struct BMEditMesh *editData,
-                                              struct DerivedMesh *derivedData);
+                                              struct DerivedMesh *derivedData,
+                                              ModifierApplyFlag flag);
 
 
        /********************* Optional functions *********************/
index e188a7b403bed29953ffe172f28ec22441480327..ebe032ad827dc6c3e5e41802de5e497f0a1ff663 100644 (file)
@@ -1692,7 +1692,7 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
                                DM_set_only_copy(orcodm, nextmask | CD_MASK_ORIGINDEX |
                                                 (mti->requiredDataMask ?
                                                  mti->requiredDataMask(ob, md) : 0));
-                               ndm = mti->applyModifier(md, ob, orcodm, app_flags & ~MOD_APPLY_USECACHE);
+                               ndm = mti->applyModifier(md, ob, orcodm, (app_flags & ~MOD_APPLY_USECACHE) | MOD_APPLY_ORCO);
 
                                if (ndm) {
                                        /* if the modifier returned a new dm, release the old one */
@@ -1708,7 +1708,7 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
 
                                nextmask &= ~CD_MASK_CLOTH_ORCO;
                                DM_set_only_copy(clothorcodm, nextmask | CD_MASK_ORIGINDEX);
-                               ndm = mti->applyModifier(md, ob, clothorcodm, app_flags & ~MOD_APPLY_USECACHE);
+                               ndm = mti->applyModifier(md, ob, clothorcodm, (app_flags & ~MOD_APPLY_USECACHE) | MOD_APPLY_ORCO);
 
                                if (ndm) {
                                        /* if the modifier returned a new dm, release the old one */
@@ -2031,9 +2031,9 @@ static void editbmesh_calc_modifiers(Scene *scene, Object *ob, BMEditMesh *em, D
                                DM_set_only_copy(orcodm, mask | CD_MASK_ORIGINDEX);
 
                                if (mti->applyModifierEM)
-                                       ndm = mti->applyModifierEM(md, ob, em, orcodm);
+                                       ndm = mti->applyModifierEM(md, ob, em, orcodm, MOD_APPLY_ORCO);
                                else
-                                       ndm = mti->applyModifier(md, ob, orcodm, 0);
+                                       ndm = mti->applyModifier(md, ob, orcodm, MOD_APPLY_ORCO);
 
                                if (ndm) {
                                        /* if the modifier returned a new dm, release the old one */
@@ -2055,9 +2055,9 @@ static void editbmesh_calc_modifiers(Scene *scene, Object *ob, BMEditMesh *em, D
                        }
                        
                        if (mti->applyModifierEM)
-                               ndm = mti->applyModifierEM(md, ob, em, dm);
+                               ndm = mti->applyModifierEM(md, ob, em, dm, MOD_APPLY_USECACHE);
                        else
-                               ndm = mti->applyModifier(md, ob, dm, 0);
+                               ndm = mti->applyModifier(md, ob, dm, MOD_APPLY_USECACHE);
 
                        if (ndm) {
                                if (dm && dm != ndm)
index b47b404dfe0ef0c0668105859976b9e067940afc..97923d23fb1a1f1c7000c7d786f4005c60eeda50 100644 (file)
@@ -1132,10 +1132,12 @@ static void curve_calc_orcodm(Scene *scene, Object *ob, DerivedMesh *derivedFina
        int required_mode;
        int editmode = (!forRender && (cu->editnurb || cu->editfont));
        DerivedMesh *ndm, *orcodm = NULL;
-       const ModifierApplyFlag app_flag = renderResolution ? MOD_APPLY_RENDER : 0;
+       ModifierApplyFlag app_flag = MOD_APPLY_ORCO;
 
-       if (renderResolution)
+       if (renderResolution) {
+               app_flag |= MOD_APPLY_RENDER;
                required_mode = eModifierMode_Render;
+       }
        else
                required_mode = eModifierMode_Realtime;
 
index bc65b27be0c513e27f37b45a95a9b59351440ad4..1c067892702f079c4932af79d8f2ca63eab47ca6 100644 (file)
@@ -597,13 +597,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
        return result;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *dm)
-{
-       return applyModifier(md, ob, dm, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_Array = {
        /* name */              "Array",
@@ -622,7 +615,7 @@ ModifierTypeInfo modifierType_Array = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  NULL,
        /* freeData */          NULL,
index 2d7a7b36a8faf73dbabeebe03bbd43de11004e83..9b0d6c136fdf200bedfc7c82d0eaef96f108524f 100644 (file)
@@ -215,13 +215,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob),
 
 #endif
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_Bevel = {
        /* name */              "Bevel",
@@ -238,7 +231,7 @@ ModifierTypeInfo modifierType_Bevel = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          NULL,
index 28c21c2a879c485aae94006fa1b177402f2fb5c2..60fb606ad8b585c4f5c2f8b87277d7d7271edd9a 100644 (file)
@@ -110,7 +110,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
        DynamicPaintModifierData *pmd = (DynamicPaintModifierData *) md;
 
        /* dont apply dynamic paint on orco dm stack */
-       if (flag & MOD_APPLY_USECACHE) {
+       if (!(flag & MOD_APPLY_ORCO)) {
                return dynamicPaint_Modifier_do(pmd, md->scene, ob, dm);
        }
        return dm;
index 33601c197b97f1753fcc8ba0c3284650e559966d..94e7475e9b3cfca40590e686243984d927ea227d 100644 (file)
@@ -141,13 +141,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der
        return result;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_EdgeSplit = {
        /* name */              "EdgeSplit",
@@ -166,7 +159,7 @@ ModifierTypeInfo modifierType_EdgeSplit = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  NULL,
        /* freeData */          NULL,
index 2b29f2afb9a35482bf258b69dac2de546a8925d5..3c886bafc794800d5ad2feae3d9bbb5af33a4d6f 100644 (file)
@@ -335,13 +335,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
        return result;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_Mirror = {
        /* name */              "Mirror",
@@ -360,7 +353,7 @@ ModifierTypeInfo modifierType_Mirror = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  NULL,
        /* freeData */          NULL,
index 338771f7746d7de800e907594bab083153b9ce37..34c89fc6ee3e9843d8503ad697f9a4a6a34f0a5d 100644 (file)
@@ -548,14 +548,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
        return result;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
-
 
 ModifierTypeInfo modifierType_Ocean = {
        /* name */              "Ocean",
@@ -572,7 +564,7 @@ ModifierTypeInfo modifierType_Ocean = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          freeData,
index 8a6a83b65b2de02214d5de1cfbf507e90b076202..2c942b38286e344bfc9ae7d5a4e692db37d45c2f 100644 (file)
@@ -395,13 +395,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
 
        return result;
 }
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 ModifierTypeInfo modifierType_ParticleInstance = {
        /* name */              "ParticleInstance",
        /* structName */        "ParticleInstanceModifierData",
@@ -418,7 +411,7 @@ ModifierTypeInfo modifierType_ParticleInstance = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  NULL,
        /* freeData */          NULL,
index 956823de784ca7b8bba5838ed73daade086f4bae..4ec132ce24d1474593f49ae506dced8c6f390892 100644 (file)
@@ -931,16 +931,6 @@ static void foreachObjectLink(
        walk(userData, ob, &ltmd->ob_axis);
 }
 
-/* This dosnt work with material*/
-static DerivedMesh *applyModifierEM(
-        ModifierData *md,
-        Object *ob,
-        struct BMEditMesh *UNUSED(editData),
-        DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 static int dependsOnTime(ModifierData *UNUSED(md))
 {
        return 0;
@@ -964,7 +954,7 @@ ModifierTypeInfo modifierType_Screw = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  NULL,
        /* freeData */          NULL,
index fbd2d3f1200c3bb3350fc13f7d1c060d79a0fec9..ad58aac17460b527d35c3173a92025a3d43c03df 100644 (file)
@@ -1852,18 +1852,6 @@ static void copyData(ModifierData *md, ModifierData *target)
        *tsmd = *smd;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md,
-                                    Object *UNUSED(ob),
-                                    struct BMEditMesh *UNUSED(em),
-                                    DerivedMesh *dm)
-{
-       DerivedMesh *result;
-
-       if (!(result = final_skin((SkinModifierData *)md, dm)))
-               return dm;
-       return result;
-}
-
 static DerivedMesh *applyModifier(ModifierData *md,
                                   Object *UNUSED(ob),
                                   DerivedMesh *dm,
@@ -1895,7 +1883,7 @@ ModifierTypeInfo modifierType_Skin = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          NULL,
index d2309e15d10a6b4f24d4aa31c769955fd92beb53..60891328ff68b0df1e12dcf47a7aed6e571ad010 100644 (file)
@@ -827,14 +827,6 @@ static DerivedMesh *applyModifier(
 
 #undef SOLIDIFY_SIDE_NORMALS
 
-static DerivedMesh *applyModifierEM(ModifierData *md,
-                                    Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_Solidify = {
        /* name */              "Solidify",
@@ -854,7 +846,7 @@ ModifierTypeInfo modifierType_Solidify = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          NULL,
index c48682b877ef8547a9d870ebfdd18f9e38a45269..4b6f8ce69d49d71de910724afc853b0698b74fe3 100644 (file)
@@ -120,7 +120,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
 
 static DerivedMesh *applyModifierEM(ModifierData *md, Object *UNUSED(ob),
                                     struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
+                                    DerivedMesh *derivedData,
+                                    ModifierApplyFlag UNUSED(flag))
 {
        SubsurfModifierData *smd = (SubsurfModifierData *) md;
        DerivedMesh *result;
index e99b4adfdf69771f9a6cf51db99afa01e7ec45e5..59973fe77a840ed839cf6ca80a423fbc050bae70 100644 (file)
@@ -78,20 +78,6 @@ static void copyData(ModifierData *md, ModifierData *target)
        *tsmd = *smd;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md,
-                                    Object *UNUSED(ob),
-                                    struct BMEditMesh *UNUSED(em),
-                                    DerivedMesh *dm)
-{
-       TriangulateModifierData *tmd = (TriangulateModifierData *)md;
-       DerivedMesh *result;
-       if (!(result = triangulate_dm(dm, tmd->flag))) {
-               return dm;
-       }
-
-       return result;
-}
-
 static DerivedMesh *applyModifier(ModifierData *md,
                                   Object *UNUSED(ob),
                                   DerivedMesh *dm,
@@ -123,7 +109,7 @@ ModifierTypeInfo modifierType_Triangulate = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  NULL, //requiredDataMask,
        /* freeData */          NULL,
index 88951919272bc9e4e7dea7edfd5f2ecb265f9d80..962ff161ebc7ff902b23b7bb7f2f586e302d8981 100644 (file)
@@ -366,13 +366,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
        return result;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_UVProject = {
        /* name */              "UVProject",
@@ -390,7 +383,7 @@ ModifierTypeInfo modifierType_UVProject = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          NULL,
index 249c3c89d5f3021b674aba18685249cca5f97c9f..7498d4dfce995a3f7139f4e93070311a1d24a4ce 100644 (file)
@@ -201,13 +201,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
        return dm;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
 {
        UVWarpModifierData *umd = (UVWarpModifierData *) md;
@@ -254,7 +247,7 @@ ModifierTypeInfo modifierType_UVWarp = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          NULL,
index dd84dce05c2c333c92191a8248ed2b71e95752a1..12917af0eb70ca62ecc32c0cdad5ce1230c5de86 100644 (file)
@@ -276,13 +276,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der
        return dm;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_WeightVGEdit = {
        /* name */              "VertexWeightEdit",
@@ -300,7 +293,7 @@ ModifierTypeInfo modifierType_WeightVGEdit = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          freeData,
index f025352795bec13e78e62f7e8162d6791b1a6c89..8273b6b09f6a492a0bc4306f4830b311f1ab459a 100644 (file)
@@ -398,13 +398,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der
        return dm;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_WeightVGMix = {
        /* name */              "VertexWeightMix",
@@ -422,7 +415,7 @@ ModifierTypeInfo modifierType_WeightVGMix = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          NULL,
index 9a6b46f81b8dc61461a9f56cd219626b51204c0a..9ad96174a0360e82376cbea70b5cae5f27255389 100644 (file)
@@ -542,13 +542,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der
        return dm;
 }
 
-static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
-                                    struct BMEditMesh *UNUSED(editData),
-                                    DerivedMesh *derivedData)
-{
-       return applyModifier(md, ob, derivedData, MOD_APPLY_USECACHE);
-}
-
 
 ModifierTypeInfo modifierType_WeightVGProximity = {
        /* name */              "VertexWeightProximity",
@@ -566,7 +559,7 @@ ModifierTypeInfo modifierType_WeightVGProximity = {
        /* deformVertsEM */     NULL,
        /* deformMatricesEM */  NULL,
        /* applyModifier */     applyModifier,
-       /* applyModifierEM */   applyModifierEM,
+       /* applyModifierEM */   NULL,
        /* initData */          initData,
        /* requiredDataMask */  requiredDataMask,
        /* freeData */          NULL,