diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2013-11-29 00:26:55 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2013-11-29 00:35:28 +0400 |
commit | 19a41e5a1095504a524333879593b8945fe8ea06 (patch) | |
tree | a87097ad414fc186195f58c2fa445c44a92b5ae3 /intern/itasc/kdl/treejnttojacsolver.cpp | |
parent | 28a2d5e2648c304cd47ce70cf698889cbb87a90f (diff) |
Fix iTaSC build error when building with libc++.
This was using TreeElement before it was fully defined, which gives undefined
behavior that happened to work with other libraries but not libc++.
Based on patch by Marcus von Appen, modifications for brevity and to ensure we
don't dereference invalid memory. Ref T37477.
Diffstat (limited to 'intern/itasc/kdl/treejnttojacsolver.cpp')
-rw-r--r-- | intern/itasc/kdl/treejnttojacsolver.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/intern/itasc/kdl/treejnttojacsolver.cpp b/intern/itasc/kdl/treejnttojacsolver.cpp index 624bbef7990..e8b4d385ab2 100644 --- a/intern/itasc/kdl/treejnttojacsolver.cpp +++ b/intern/itasc/kdl/treejnttojacsolver.cpp @@ -28,16 +28,16 @@ int TreeJntToJacSolver::JntToJac(const JntArray& q_in, Jacobian& jac, return -1; //Lets search the tree-element - SegmentMap::const_iterator it = tree.getSegments().find(segmentname); + SegmentMap::value_type const* it = tree.getSegmentPtr(segmentname); //If segmentname is not inside the tree, back out: - if (it == tree.getSegments().end()) + if (!it) return -2; //Let's make the jacobian zero: SetToZero(jac); - SegmentMap::const_iterator root = tree.getSegments().find("root"); + SegmentMap::value_type const* root = tree.getSegmentPtr("root"); Frame T_total = Frame::Identity(); Frame T_local, T_joint; |