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>2019-07-24 13:40:33 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-07-26 11:23:38 +0300
commit1693a5efe91999b60b3dc0bdff727473b3bd00bb (patch)
tree2283e6d5e661b7a26785c1d6fba28db505b93200 /source/blender/depsgraph/intern/depsgraph_eval.cc
parent250995d67b772f0b7bd80aabb79b18d278ffc257 (diff)
Fix T66378: Missing animation update when switching view layer
Current frame is stored in a scene, and scene might have multiple view layers. The inactive view layers were not informed about scene's frame being changed, so when user switched back to view after changing scene frame it was in an inconsistent state between current scene frame and animation. Now we tag scene for time changes, so dependency graph can catch up and do proper update. Currently tagging is from quite generic place. Probably better approach would be to tag from where frame is actually being assigned. Downside of this is that it's easy to miss some places. Reviewers: brecht, mont29 Reviewed By: brecht Maniphest Tasks: T66378 Differential Revision: https://developer.blender.org/D5332
Diffstat (limited to 'source/blender/depsgraph/intern/depsgraph_eval.cc')
-rw-r--r--source/blender/depsgraph/intern/depsgraph_eval.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_eval.cc b/source/blender/depsgraph/intern/depsgraph_eval.cc
index 6f3262174b4..f519fe76724 100644
--- a/source/blender/depsgraph/intern/depsgraph_eval.cc
+++ b/source/blender/depsgraph/intern/depsgraph_eval.cc
@@ -61,6 +61,7 @@ void DEG_evaluate_on_refresh(Depsgraph *graph)
BKE_scene_frame_set(deg_graph->scene_cow, deg_graph->ctime);
}
DEG::deg_evaluate_on_refresh(deg_graph);
+ deg_graph->need_update_time = false;
}
/* Frame-change happened for root scene that graph belongs to. */
@@ -79,6 +80,7 @@ void DEG_evaluate_on_framechange(Main *bmain, Depsgraph *graph, float ctime)
}
/* Perform recalculation updates. */
DEG::deg_evaluate_on_refresh(deg_graph);
+ deg_graph->need_update_time = false;
}
bool DEG_needs_eval(Depsgraph *graph)