Commit: 12f37fade791095d5d63d019cd233e0f82075b45
Author: Joshua Leung
Date:   Thu Jan 1 13:52:10 2015 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rB12f37fade791095d5d63d019cd233e0f82075b45

Fix: Animation works again

Because most of the places using the animdata op coneected to the component,
the removal of verify_entry_exit_ops() broke this. For now, we'll manually
set this op as the entry/exit for the component.

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

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

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

diff --git a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp 
b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
index 6fee6cb..1a75828 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
@@ -361,9 +361,18 @@ void DepsgraphNodeBuilder::build_animdata(ID *id)
                
                /* actions and NLA - as a single unit for now, as it gets 
complicated to schedule otherwise */
                if ((adt->action) || (adt->nla_tracks.first)) {
-                       add_operation_node(id, DEPSNODE_TYPE_ANIMATION,
-                                          DEPSOP_TYPE_EXEC, 
function_bind(BKE_animsys_eval_animdata, _1, id, time_src),
-                                          DEG_OPCODE_ANIMATION, id->name);
+                       /* create the node */
+                       OperationDepsNode *adt_op;
+                       adt_op = add_operation_node(id, DEPSNODE_TYPE_ANIMATION,
+                                                   DEPSOP_TYPE_EXEC, 
function_bind(BKE_animsys_eval_animdata, _1, id, time_src),
+                                                   DEG_OPCODE_ANIMATION, 
id->name);
+                       
+                       /* ensure that the Animation component uses this as its 
entry/exit op,
+                        * or else it won't get hooked up
+                        */
+                       // XXX: maybe this should be done via the type instead?
+                       adt_op->owner->entry_operation = adt_op;
+                       adt_op->owner->exit_operation  = adt_op;
                        
                        // TODO: for each channel affected, we might also want 
to add some support for running RNA update callbacks on them
                        // (which will be needed for proper handling of drivers 
later)

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

Reply via email to