diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-07-31 20:01:56 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-07-31 20:06:05 +0400 |
commit | 54472df7507a0f5da027c8f8c41907e0b603385c (patch) | |
tree | de3ec49519f0c36002baa18b9dad3af492bf8936 | |
parent | da638d49e3056a319013e4cee22dd322309ea75f (diff) |
Fix T41236: Rendered viewport doesn't update with material actions
The issue was caused by NLA evaluation without actions not setting
id's flag as updated (as that's happening when action writes data
to the ID datablock).
Added the same flag set for the NLA evaluation as what's happening
for actions.
-rw-r--r-- | source/blender/blenkernel/intern/anim_sys.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index c7e2bb8c6c7..6e0033dad54 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -2338,6 +2338,17 @@ static void animsys_evaluate_nla(ListBase *echannels, PointerRNA *ptr, AnimData /* 3. free temporary evaluation data that's not used elsewhere */ BLI_freelistN(&estrips); + + /* Tag ID as updated so render engines will recognize changes in data + * which is nimated but doesn't have actions. + */ + if (ptr->id.data != NULL) { + ID *id = ptr->id.data; + if (!(id->flag & LIB_ANIM_NO_RECALC)) { + id->flag |= LIB_ID_RECALC; + DAG_id_type_tag(G.main, GS(id->name)); + } + } } /* NLA Evaluation function (mostly for use through do_animdata) |