diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-02-25 13:44:39 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-02-25 13:52:56 +0400 |
commit | f2309ba57943eb7e5a06119b6d45d9ba3b664c8b (patch) | |
tree | 44e32047cd67f914ee5d848dd85fba08d54a1d8a /source/blender/makesrna/intern/rna_scene_api.c | |
parent | 3ae641eb020ea61a595840eee8cbcc9f7ee36043 (diff) |
Fix T38824: curve which is constrained on a hidden layer causes cycles crash
Issue was caused by cycles setting scene frame which will update scene for
all the layers (not just visible ones) which confuses depsgraph making
objects which are needed as dependency are not really evaluated.
Made it so setting frame via scene.frame_set() which check whether update
need to be flushed to an invisible objects and do this if so.
Not ideal solution but seems to be safest at this point.
Diffstat (limited to 'source/blender/makesrna/intern/rna_scene_api.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_scene_api.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c index a4f1f84f94d..c51ee901370 100644 --- a/source/blender/makesrna/intern/rna_scene_api.c +++ b/source/blender/makesrna/intern/rna_scene_api.c @@ -69,7 +69,8 @@ static void rna_Scene_frame_set(Scene *scene, int frame, float subframe) BPy_BEGIN_ALLOW_THREADS; #endif - BKE_scene_update_for_newframe(G.main->eval_ctx, G.main, scene, (1 << 20) - 1); + /* It's possible that here we're including layers which were never visible before. */ + BKE_scene_update_for_newframe_ex(G.main->eval_ctx, G.main, scene, (1 << 20) - 1, true); #ifdef WITH_PYTHON BPy_END_ALLOW_THREADS; |