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-07-31 20:01:56 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-07-31 20:06:05 +0400
commit54472df7507a0f5da027c8f8c41907e0b603385c (patch)
treede3ec49519f0c36002baa18b9dad3af492bf8936
parentda638d49e3056a319013e4cee22dd322309ea75f (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.c11
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)