Merging r58362 through r58463 from trunk into soc-2013-depsgraph_mt
[blender.git] / source / blender / blenkernel / intern / DerivedMesh.c
index 7a7d4c7d24ac4a940985654ab30d21f90edb2cba..b11f88d5260147d089a8b720161d368829644ada 100644 (file)
@@ -49,6 +49,7 @@
 #include "BLI_array.h"
 #include "BLI_utildefines.h"
 #include "BLI_linklist.h"
+#include "BLI_threads.h"
 
 #include "BKE_pbvh.h"
 #include "BKE_cdderivedmesh.h"
@@ -1439,6 +1440,8 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
        /* XXX Same as above... For now, only weights preview in WPaint mode. */
        const int do_mod_wmcol = do_init_wmcol;
 
+       VirtualModifierData virtualModifierData;
+
        ModifierApplyFlag app_flags = useRenderParams ? MOD_APPLY_RENDER : 0;
        ModifierApplyFlag deform_app_flags = app_flags;
        if (useCache)
@@ -1450,7 +1453,7 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
                has_multires = 0;
 
        if (!skipVirtualArmature) {
-               firstmd = modifiers_getVirtualModifierList(ob);
+               firstmd = modifiers_getVirtualModifierList(ob, &virtualModifierData);
        }
        else {
                /* game engine exception */
@@ -1960,6 +1963,7 @@ static void editbmesh_calc_modifiers(Scene *scene, Object *ob, BMEditMesh *em, D
        int do_init_wmcol = ((((Mesh *)ob->data)->drawflag & ME_DRAWEIGHT) && !do_final_wmcol);
        int do_init_statvis = ((((Mesh *)ob->data)->drawflag & ME_DRAW_STATVIS) && !do_init_wmcol);
        const int do_mod_wmcol = do_init_wmcol;
+       VirtualModifierData virtualModifierData;
 
        modifiers_clearErrors(ob);
 
@@ -1968,7 +1972,7 @@ static void editbmesh_calc_modifiers(Scene *scene, Object *ob, BMEditMesh *em, D
        }
 
        dm = NULL;
-       md = modifiers_getVirtualModifierList(ob);
+       md = modifiers_getVirtualModifierList(ob, &virtualModifierData);
 
        /* copied from mesh_calc_modifiers */
        if (do_mod_wmcol) {