Commit: aa4cb95a5c8569704f166cfd6d8f65606502ea40
Author: Sergey Sharybin
Date:   Fri Mar 13 11:48:04 2015 +0500
Branches: master
https://developer.blender.org/rBaa4cb95a5c8569704f166cfd6d8f65606502ea40

Pass proper bmain to the updateDepgraph() of modifiers

This is mainly to make physics modifiers being able to work
with it. For other cases this main is not needed.

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

M       source/blender/blenkernel/BKE_modifier.h
M       source/blender/blenkernel/intern/depsgraph.c
M       source/blender/modifiers/intern/MOD_armature.c
M       source/blender/modifiers/intern/MOD_array.c
M       source/blender/modifiers/intern/MOD_boolean.c
M       source/blender/modifiers/intern/MOD_cast.c
M       source/blender/modifiers/intern/MOD_cloth.c
M       source/blender/modifiers/intern/MOD_curve.c
M       source/blender/modifiers/intern/MOD_datatransfer.c
M       source/blender/modifiers/intern/MOD_displace.c
M       source/blender/modifiers/intern/MOD_dynamicpaint.c
M       source/blender/modifiers/intern/MOD_fluidsim.c
M       source/blender/modifiers/intern/MOD_hook.c
M       source/blender/modifiers/intern/MOD_lattice.c
M       source/blender/modifiers/intern/MOD_mask.c
M       source/blender/modifiers/intern/MOD_meshdeform.c
M       source/blender/modifiers/intern/MOD_mirror.c
M       source/blender/modifiers/intern/MOD_normal_edit.c
M       source/blender/modifiers/intern/MOD_particleinstance.c
M       source/blender/modifiers/intern/MOD_screw.c
M       source/blender/modifiers/intern/MOD_shrinkwrap.c
M       source/blender/modifiers/intern/MOD_simpledeform.c
M       source/blender/modifiers/intern/MOD_smoke.c
M       source/blender/modifiers/intern/MOD_uvproject.c
M       source/blender/modifiers/intern/MOD_uvwarp.c
M       source/blender/modifiers/intern/MOD_warp.c
M       source/blender/modifiers/intern/MOD_wave.c
M       source/blender/modifiers/intern/MOD_weightvgedit.c
M       source/blender/modifiers/intern/MOD_weightvgmix.c
M       source/blender/modifiers/intern/MOD_weightvgproximity.c

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

diff --git a/source/blender/blenkernel/BKE_modifier.h 
b/source/blender/blenkernel/BKE_modifier.h
index 12eb78e..1ec4e23 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -41,6 +41,7 @@ struct Scene;
 struct ListBase;
 struct LinkNode;
 struct bArmature;
+struct Main;
 struct ModifierData;
 struct BMEditMesh;
 
@@ -256,7 +257,8 @@ typedef struct ModifierTypeInfo {
         *
         * This function is optional.
         */
-       void (*updateDepgraph)(struct ModifierData *md, struct DagForest 
*forest, struct Scene *scene,
+       void (*updateDepgraph)(struct ModifierData *md, struct DagForest 
*forest,
+                              struct Main *bmain, struct Scene *scene,
                               struct Object *ob, struct DagNode *obNode);
 
        /* Should return true if the modifier needs to be recalculated on time
diff --git a/source/blender/blenkernel/intern/depsgraph.c 
b/source/blender/blenkernel/intern/depsgraph.c
index 566aa66..0451c22 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -484,7 +484,7 @@ static void dag_add_collision_field_relation(DagForest 
*dag, Scene *scene, Objec
        }
 }
 
-static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, 
Object *ob, int mask)
+static void build_dag_object(DagForest *dag, DagNode *scenenode, Main *bmain, 
Scene *scene, Object *ob, int mask)
 {
        bConstraint *con;
        DagNode *node;
@@ -576,7 +576,7 @@ static void build_dag_object(DagForest *dag, DagNode 
*scenenode, Scene *scene, O
                for (md = ob->modifiers.first; md; md = md->next) {
                        ModifierTypeInfo *mti = modifierType_getInfo(md->type);
                        
-                       if (mti->updateDepgraph) mti->updateDepgraph(md, dag, 
scene, ob, node);
+                       if (mti->updateDepgraph) mti->updateDepgraph(md, dag, 
bmain, scene, ob, node);
                }
        }
        if (ob->parent) {
@@ -891,7 +891,7 @@ static void build_dag_object(DagForest *dag, DagNode 
*scenenode, Scene *scene, O
                dag_add_relation(dag, scenenode, node, DAG_RL_SCENE, "Scene 
Relation");
 }
 
-static void build_dag_group(DagForest *dag, DagNode *scenenode, Scene *scene, 
Group *group, short mask)
+static void build_dag_group(DagForest *dag, DagNode *scenenode, Main *bmain, 
Scene *scene, Group *group, short mask)
 {
        GroupObject *go;
 
@@ -901,9 +901,9 @@ static void build_dag_group(DagForest *dag, DagNode 
*scenenode, Scene *scene, Gr
        group->id.flag |= LIB_DOIT;
 
        for (go = group->gobject.first; go; go = go->next) {
-               build_dag_object(dag, scenenode, scene, go->ob, mask);
+               build_dag_object(dag, scenenode, bmain, scene, go->ob, mask);
                if (go->ob->dup_group)
-                       build_dag_group(dag, scenenode, scene, 
go->ob->dup_group, mask);
+                       build_dag_group(dag, scenenode, bmain, scene, 
go->ob->dup_group, mask);
        }
 }
 
@@ -936,11 +936,11 @@ DagForest *build_dag(Main *bmain, Scene *sce, short mask)
        for (base = sce->base.first; base; base = base->next) {
                ob = base->object;
                
-               build_dag_object(dag, scenenode, sce, ob, mask);
+               build_dag_object(dag, scenenode, bmain, sce, ob, mask);
                if (ob->proxy)
-                       build_dag_object(dag, scenenode, sce, ob->proxy, mask);
+                       build_dag_object(dag, scenenode, bmain, sce, ob->proxy, 
mask);
                if (ob->dup_group) 
-                       build_dag_group(dag, scenenode, sce, ob->dup_group, 
mask);
+                       build_dag_group(dag, scenenode, bmain, sce, 
ob->dup_group, mask);
        }
        
        BKE_main_id_tag_idcode(bmain, ID_GR, false);
diff --git a/source/blender/modifiers/intern/MOD_armature.c 
b/source/blender/modifiers/intern/MOD_armature.c
index a4248df..52a47c3 100644
--- a/source/blender/modifiers/intern/MOD_armature.c
+++ b/source/blender/modifiers/intern/MOD_armature.c
@@ -100,6 +100,7 @@ static void foreachObjectLink(
 }
 
 static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
                            struct Scene *UNUSED(scene),
                            Object *UNUSED(ob),
                            DagNode *obNode)
diff --git a/source/blender/modifiers/intern/MOD_array.c 
b/source/blender/modifiers/intern/MOD_array.c
index 7430a43..409d862 100644
--- a/source/blender/modifiers/intern/MOD_array.c
+++ b/source/blender/modifiers/intern/MOD_array.c
@@ -102,7 +102,9 @@ static void foreachObjectLink(
 }
 
 static void updateDepgraph(ModifierData *md, DagForest *forest,
-                           struct Scene *UNUSED(scene), Object *UNUSED(ob), 
DagNode *obNode)
+                           struct Main *UNUSED(bmain),
+                           struct Scene *UNUSED(scene),
+                           Object *UNUSED(ob), DagNode *obNode)
 {
        ArrayModifierData *amd = (ArrayModifierData *) md;
 
diff --git a/source/blender/modifiers/intern/MOD_boolean.c 
b/source/blender/modifiers/intern/MOD_boolean.c
index 22636e7..ee3bc71 100644
--- a/source/blender/modifiers/intern/MOD_boolean.c
+++ b/source/blender/modifiers/intern/MOD_boolean.c
@@ -74,6 +74,7 @@ static void foreachObjectLink(
 }
 
 static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
                            struct Scene *UNUSED(scene),
                            Object *UNUSED(ob),
                            DagNode *obNode)
diff --git a/source/blender/modifiers/intern/MOD_cast.c 
b/source/blender/modifiers/intern/MOD_cast.c
index c465428..3bdc62e 100644
--- a/source/blender/modifiers/intern/MOD_cast.c
+++ b/source/blender/modifiers/intern/MOD_cast.c
@@ -106,6 +106,7 @@ static void foreachObjectLink(
 }
 
 static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
                            struct Scene *UNUSED(scene),
                            Object *UNUSED(ob),
                            DagNode *obNode)
diff --git a/source/blender/modifiers/intern/MOD_cloth.c 
b/source/blender/modifiers/intern/MOD_cloth.c
index 71a83df..d76427c 100644
--- a/source/blender/modifiers/intern/MOD_cloth.c
+++ b/source/blender/modifiers/intern/MOD_cloth.c
@@ -118,7 +118,9 @@ static void deformVerts(ModifierData *md, Object *ob, 
DerivedMesh *derivedData,
        dm->release(dm);
 }
 
-static void updateDepgraph(ModifierData *md, DagForest *forest, Scene *scene, 
Object *ob, DagNode *obNode)
+static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
+                           Scene *scene, Object *ob, DagNode *obNode)
 {
        ClothModifierData *clmd = (ClothModifierData *) md;
        
diff --git a/source/blender/modifiers/intern/MOD_curve.c 
b/source/blender/modifiers/intern/MOD_curve.c
index 9c3ccf0..d53bac3 100644
--- a/source/blender/modifiers/intern/MOD_curve.c
+++ b/source/blender/modifiers/intern/MOD_curve.c
@@ -92,6 +92,7 @@ static void foreachObjectLink(
 }
 
 static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
                            Scene *UNUSED(scene),
                            Object *UNUSED(ob),
                            DagNode *obNode)
diff --git a/source/blender/modifiers/intern/MOD_datatransfer.c 
b/source/blender/modifiers/intern/MOD_datatransfer.c
index acb58f6..d13ca6e 100644
--- a/source/blender/modifiers/intern/MOD_datatransfer.c
+++ b/source/blender/modifiers/intern/MOD_datatransfer.c
@@ -131,7 +131,9 @@ static void foreachIDLink(ModifierData *md, Object *ob, 
IDWalkFunc walk, void *u
        foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
 }
 
-static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene 
*UNUSED(scene),
+static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
+                           struct Scene *UNUSED(scene),
                            Object *UNUSED(ob), DagNode *obNode)
 {
        DataTransferModifierData *dtmd = (DataTransferModifierData *) md;
diff --git a/source/blender/modifiers/intern/MOD_displace.c 
b/source/blender/modifiers/intern/MOD_displace.c
index a23873f..e377445 100644
--- a/source/blender/modifiers/intern/MOD_displace.c
+++ b/source/blender/modifiers/intern/MOD_displace.c
@@ -150,6 +150,7 @@ static bool isDisabled(ModifierData *md, int 
UNUSED(useRenderParams))
 }
 
 static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
                            struct Scene *UNUSED(scene),
                            Object *UNUSED(ob),
                            DagNode *obNode)
diff --git a/source/blender/modifiers/intern/MOD_dynamicpaint.c 
b/source/blender/modifiers/intern/MOD_dynamicpaint.c
index 5236365..c699946 100644
--- a/source/blender/modifiers/intern/MOD_dynamicpaint.c
+++ b/source/blender/modifiers/intern/MOD_dynamicpaint.c
@@ -112,6 +112,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object 
*ob,
 }
 
 static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
                            struct Scene *scene,
                            Object *ob,
                            DagNode *obNode)
diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c 
b/source/blender/modifiers/intern/MOD_fluidsim.c
index 9c973cd..6344ec8 100644
--- a/source/blender/modifiers/intern/MOD_fluidsim.c
+++ b/source/blender/modifiers/intern/MOD_fluidsim.c
@@ -97,7 +97,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object 
*ob,
 }
 
 static void updateDepgraph(
-        ModifierData *md, DagForest *forest, Scene *scene,
+        ModifierData *md, DagForest *forest,
+        struct Main *UNUSED(bmain), Scene *scene,
         Object *ob, DagNode *obNode)
 {
        FluidsimModifierData *fluidmd = (FluidsimModifierData *) md;
diff --git a/source/blender/modifiers/intern/MOD_hook.c 
b/source/blender/modifiers/intern/MOD_hook.c
index 2b512a6..10223d3 100644
--- a/source/blender/modifiers/intern/MOD_hook.c
+++ b/source/blender/modifiers/intern/MOD_hook.c
@@ -112,6 +112,7 @@ static void foreachObjectLink(
 }
 
 static void updateDepgraph(ModifierData *md, DagForest *forest,
+                           struct Main *UNUSED(bmain),
                            struct Scene *UNUSED(scene),
                            Object *UNUSED(ob),
 

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to