Commit: 5e6f60bbe84e74e104b789e03ebe242b3f8fdfea
Author: Lukas Tönne
Date:   Sat May 31 13:10:13 2014 +0200
https://developer.blender.org/rB5e6f60bbe84e74e104b789e03ebe242b3f8fdfea

Correct flushing, this was only happening with (still dysfunctional)
frame change updates.

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

M       source/blender/depsgraph/intern/depsgraph_eval.cpp

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

diff --git a/source/blender/depsgraph/intern/depsgraph_eval.cpp 
b/source/blender/depsgraph/intern/depsgraph_eval.cpp
index 94c9aed..142bd78 100644
--- a/source/blender/depsgraph/intern/depsgraph_eval.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_eval.cpp
@@ -162,14 +162,18 @@ void DEG_evaluate_on_refresh(Depsgraph *graph, 
eEvaluationContextType context_ty
        /* XXX could use a separate pool for each eval context */
        static DepsgraphTaskPool task_pool = DepsgraphTaskPool();
        
+       /* recursively push updates out to all nodes dependent on this, 
+        * until all affected are tagged and/or scheduled up for eval
+        */
+       DEG_graph_flush_updates(graph);
+       
+       calculate_pending_parents(graph);
+       
        /* clear tags */
        for (Depsgraph::OperationNodes::const_iterator it = 
graph->operations.begin(); it != graph->operations.end(); ++it) {
                OperationDepsNode *node = *it;
                node->done = 0;
        }
-       
-       calculate_pending_parents(graph);
-       
        /* calculate priority for operation nodes */
        for (Depsgraph::OperationNodes::const_iterator it = 
graph->operations.begin(); it != graph->operations.end(); ++it) {
                OperationDepsNode *node = *it;
@@ -201,11 +205,6 @@ void DEG_evaluate_on_framechange(Depsgraph *graph, 
eEvaluationContextType contex
        graph->tag_update(tsrc);
 #endif
        
-       /* recursively push updates out to all nodes dependent on this, 
-        * until all affected are tagged and/or scheduled up for eval
-        */
-       DEG_graph_flush_updates(graph);
-       
        /* perform recalculation updates */
        DEG_evaluate_on_refresh(graph, context_type);
 }

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

Reply via email to