diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-03-13 09:48:04 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-03-13 10:03:23 +0300 |
commit | aa4cb95a5c8569704f166cfd6d8f65606502ea40 (patch) | |
tree | 3b3e99d9cc87222e632b071f1adc207452825ba1 /source/blender/blenkernel/intern/depsgraph.c | |
parent | 1cac8c23b5fdf151accaad8c785629f7495af5e5 (diff) |
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.
Diffstat (limited to 'source/blender/blenkernel/intern/depsgraph.c')
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 566aa6657b9..0451c2239ac 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); |