Commit: 594384f2aa42326ee5e5887b6d82ce090ac608e2
Author: Sergey Sharybin
Date:   Wed Feb 25 20:45:27 2015 +0500
Branches: depsgraph_refactor
https://developer.blender.org/rB594384f2aa42326ee5e5887b6d82ce090ac608e2

Depsgraph: Correction to previous commit

Update for the new frame happens a bit different and previous commit broke 
animation.

===================================================================

M       source/blender/blenkernel/intern/scene.c
M       source/blender/depsgraph/intern/depsgraph_eval.cpp

===================================================================

diff --git a/source/blender/blenkernel/intern/scene.c 
b/source/blender/blenkernel/intern/scene.c
index f7aa0b4..54c2695 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -1825,13 +1825,13 @@ void BKE_scene_update_for_newframe_ex(EvaluationContext 
*eval_ctx, Main *bmain,
        for (sce_iter = sce; sce_iter; sce_iter = sce_iter->set)
                DAG_scene_relations_update(bmain, sce_iter);
 
-       /* flush recalc flags to dependencies, if we were only changing a frame
-        * this would not be necessary, but if a user or a script has modified
-        * some datablock before BKE_scene_update_tagged was called, we need 
the flush */
-       DAG_ids_flush_tagged(bmain);
-
 #ifdef WITH_LEGACY_DEPSGRAPH
        if (!use_new_eval) {
+               /* flush recalc flags to dependencies, if we were only changing 
a frame
+                * this would not be necessary, but if a user or a script has 
modified
+                * some datablock before BKE_scene_update_tagged was called, we 
need the flush */
+               DAG_ids_flush_tagged(bmain);
+
                /* Following 2 functions are recursive
                 * so don't call within 'scene_update_tagged_recursive' */
                DAG_scene_update_flags(bmain, sce, lay, true, 
do_invisible_flush);   // only stuff that moves or needs display still
diff --git a/source/blender/depsgraph/intern/depsgraph_eval.cpp 
b/source/blender/depsgraph/intern/depsgraph_eval.cpp
index 5b57201..5604927 100644
--- a/source/blender/depsgraph/intern/depsgraph_eval.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_eval.cpp
@@ -372,6 +372,8 @@ void DEG_evaluate_on_framechange(EvaluationContext 
*eval_ctx,
 
        tsrc->tag_update(graph);
 
+       DEG_graph_flush_updates(bmain, graph);
+
        /* Perform recalculation updates. */
        DEG_evaluate_on_refresh_ex(eval_ctx, bmain, graph, layers);
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to