diff options
author | Andrea Weikert <elubie@gmx.net> | 2012-10-22 23:45:16 +0400 |
---|---|---|
committer | Andrea Weikert <elubie@gmx.net> | 2012-10-22 23:45:16 +0400 |
commit | 05f147f12e879dcc640dc1014cd81dd0b0caca95 (patch) | |
tree | 3617daa944fc3f3b7e7d9e6bf136fd036eee8968 | |
parent | 7effd54d568f7615eb7083f5cf13ae7b2b71e164 (diff) |
fix: drivers on materials and texture don't update when rendering animation
* Added additional tag_main_idcode in BKE_scene_update_for_newframe similar to what was done previously in BKE_scene_update_tagged to fix #32017 (unlimited recursion issue for material updates) by Joshua Leung
* So issue wasn't the dependencies, but the material was already tagged (from previous drawing), so wouldn't be updated each frame.
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index dd09094c30c..bc33b9da093 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -1117,6 +1117,11 @@ void BKE_scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay) BKE_animsys_evaluate_all_animation(bmain, sce, ctime); /*...done with recusrive funcs */ + /* clear "LIB_DOIT" flag from all materials, to prevent infinite recursion problems later + * when trying to find materials with drivers that need evaluating [#32017] + */ + tag_main_idcode(bmain, ID_MA, FALSE); + /* BKE_object_handle_update() on all objects, groups and sets */ scene_update_tagged_recursive(bmain, sce, sce); |