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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2014-01-22 00:01:12 +0400
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2014-01-22 00:03:49 +0400
commit2aeb49204d40d6a43026de6f87fd5e7f0df100c6 (patch)
treeec40874f4175b4e56d26988e227188f0dcd2e4fd /source/blender/blenkernel/intern/anim_sys.c
parentae3f577ac18acf22ee2dafd939b6e121fd220c1f (diff)
Fix T38306: dupliframes causing viewport render to continually restart.
Evaluating the animation is causing the object to get tagged as changed, but in this case it's not a permanent change so no one should be notified. Also found a case where the persistent ID for duplis wasn't unique, fixed that as well.
Diffstat (limited to 'source/blender/blenkernel/intern/anim_sys.c')
-rw-r--r--source/blender/blenkernel/intern/anim_sys.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c
index 609932ae5e2..f20fa0c401d 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -1382,8 +1382,13 @@ static short animsys_write_rna_setting(PointerRNA *ptr, char *path, int array_in
* be run, it's for e.g. render engines to synchronize data */
if (written && new_ptr.id.data) {
ID *id = new_ptr.id.data;
- id->flag |= LIB_ID_RECALC;
- DAG_id_type_tag(G.main, GS(id->name));
+
+ /* for cases like duplifarmes it's only a temporary so don't
+ * notify anyone of updates */
+ if (!(id->flag & LIB_ANIM_NO_RECALC)) {
+ id->flag |= LIB_ID_RECALC;
+ DAG_id_type_tag(G.main, GS(id->name));
+ }
}
}