[Bf-blender-cvs] [3fe2bc9] depsgraph_refactor: Depsgraph: Fix for deadlock when IK targets depend on a bone in the chain
Joshua Leung
noreply at git.blender.org
Sat Jan 31 00:54:07 CET 2015
Commit: 3fe2bc9a33de5529f559b7781e143b43fb953029
Author: Joshua Leung
Date: Sat Jan 31 12:50:37 2015 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rB3fe2bc9a33de5529f559b7781e143b43fb953029
Depsgraph: Fix for deadlock when IK targets depend on a bone in the chain
This hack tags the target as being part of the IK chain, so that when adding the
constraints, the "ready" state will be used instead of "done" to avoid the deadlock.
There don't seem to be any readily observed ill-effects of this patch, so I guess
it's fine.
===================================================================
M source/blender/depsgraph/intern/depsgraph_build_relations.cpp
===================================================================
diff --git a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
index 3c30964..e6bbc3c 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
@@ -999,6 +999,11 @@ void DepsgraphRelationBuilder::build_ik_pose(Object *ob,
}
}
root_map->add_bone(pchan->name, rootchan->name);
+
+ if ((data->tar) && (data->tar == ob) && (data->subtarget[0])) {
+ /* Prevent target's constraints from linking to anything from same chain that it controls */
+ root_map->add_bone(data->subtarget, rootchan->name);
+ }
/* Pole Target */
// XXX: this should get handled as part of the constraint code
More information about the Bf-blender-cvs
mailing list