Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-05-12 17:33:20 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-05-12 17:33:20 +0400
commit469979f9cb08640fbc00a43b59eee459460e74e1 (patch)
treed081b67e0d2274a54b876b0dc9618833d5752b1e /source/blender/blenkernel/intern/depsgraph.c
parent127c39b8a44df962b1ac20578497b387319efe87 (diff)
Fix material/lamp drivers not working sometimes when they were used by multiple
objects, found while looking into another bug.
Diffstat (limited to 'source/blender/blenkernel/intern/depsgraph.c')
-rw-r--r--source/blender/blenkernel/intern/depsgraph.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 1bae4ec68cc..86832a72b90 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -372,8 +372,8 @@ static void dag_add_material_driver_relations(DagForest *dag, DagNode *node, Mat
*/
if (ma->id.flag & LIB_DOIT)
return;
- else
- ma->id.flag |= LIB_DOIT;
+
+ ma->id.flag |= LIB_DOIT;
/* material itself */
if (ma->adt)
@@ -386,6 +386,8 @@ static void dag_add_material_driver_relations(DagForest *dag, DagNode *node, Mat
/* material's nodetree */
if (ma->nodetree)
dag_add_shader_nodetree_driver_relations(dag, node, ma->nodetree);
+
+ ma->id.flag &= ~LIB_DOIT;
}
/* recursive handling for lamp drivers */
@@ -397,8 +399,8 @@ static void dag_add_lamp_driver_relations(DagForest *dag, DagNode *node, Lamp *l
*/
if (la->id.flag & LIB_DOIT)
return;
- else
- la->id.flag |= LIB_DOIT;
+
+ la->id.flag |= LIB_DOIT;
/* lamp itself */
if (la->adt)
@@ -411,6 +413,8 @@ static void dag_add_lamp_driver_relations(DagForest *dag, DagNode *node, Lamp *l
/* lamp's nodetree */
if (la->nodetree)
dag_add_shader_nodetree_driver_relations(dag, node, la->nodetree);
+
+ la->id.flag &= ~LIB_DOIT;
}
static void dag_add_collision_field_relation(DagForest *dag, Scene *scene, Object *ob, DagNode *node, int skip_forcefield, bool no_collision)