diff options
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 12 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/lamp.c | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/material.c | 6 |
3 files changed, 16 insertions, 8 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) diff --git a/source/blender/blenkernel/intern/lamp.c b/source/blender/blenkernel/intern/lamp.c index 32cc5c6c22e..903b032e080 100644 --- a/source/blender/blenkernel/intern/lamp.c +++ b/source/blender/blenkernel/intern/lamp.c @@ -258,8 +258,8 @@ void lamp_drivers_update(Scene *scene, Lamp *la, float ctime) * in the meantime... [#32017] */ if (la->id.flag & LIB_DOIT) return; - else - la->id.flag |= LIB_DOIT; + + la->id.flag |= LIB_DOIT; /* lamp itself */ if (la->adt && la->adt->drivers.first) @@ -268,5 +268,7 @@ void lamp_drivers_update(Scene *scene, Lamp *la, float ctime) /* nodes */ if (la->nodetree) lamp_node_drivers_update(scene, la->nodetree, ctime); + + la->id.flag &= ~LIB_DOIT; } diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 7e70b9d9cd5..2b7a41933b4 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -1133,8 +1133,8 @@ void material_drivers_update(Scene *scene, Material *ma, float ctime) */ if (ma->id.flag & LIB_DOIT) return; - else - ma->id.flag |= LIB_DOIT; + + ma->id.flag |= LIB_DOIT; /* material itself */ if (ma->adt && ma->adt->drivers.first) { @@ -1145,6 +1145,8 @@ void material_drivers_update(Scene *scene, Material *ma, float ctime) if (ma->nodetree) { material_node_drivers_update(scene, ma->nodetree, ctime); } + + ma->id.flag &= ~LIB_DOIT; } /* ****************** */ |