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:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-05-13 17:19:49 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-05-13 18:15:19 +0400
commit9ae9c268cac7aeadb53052bd493b4b4782ea1c64 (patch)
tree31043eba9ce856278702a9ac013a8e1bb569729a /source/blender/blenkernel/intern/scene.c
parenteed0c4d062aa0f439f999d2fd86884ae3b638276 (diff)
Folowup for old fix for material animation
Need to update node trees, so cycles materials are also updating when tweaking settings from dopesheet/graph editor.
Diffstat (limited to 'source/blender/blenkernel/intern/scene.c')
-rw-r--r--source/blender/blenkernel/intern/scene.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 0e95cf1d418..c94d0dfa548 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -1599,7 +1599,20 @@ void BKE_scene_update_tagged(EvaluationContext *eval_ctx, Main *bmain, Scene *sc
BKE_animsys_evaluate_animdata(scene, &material->id, adt, ctime, 0);
}
}
-
+
+ /* Also do the same for node trees. */
+ if (DAG_id_type_tagged(bmain, ID_NT)) {
+ float ctime = BKE_scene_frame_get(scene);
+
+ FOREACH_NODETREE(bmain, ntree, id)
+ {
+ AnimData *adt = BKE_animdata_from_id(&ntree->id);
+ if (adt && (adt->recalc & ADT_RECALC_ANIM))
+ BKE_animsys_evaluate_animdata(scene, &ntree->id, adt, ctime, 0);
+ }
+ FOREACH_NODETREE_END
+ }
+
/* notify editors and python about recalc */
BLI_callback_exec(bmain, &scene->id, BLI_CB_EVT_SCENE_UPDATE_POST);
DAG_ids_check_recalc(bmain, scene, false);