diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-03-25 14:05:28 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-03-25 14:07:13 +0400 |
commit | d4cc81d5523b3e625b809baa4a57c73664fb13db (patch) | |
tree | 70b142d91bc26791984fceae4b160dd115db5a5c /source/blender/blenlib/BLI_math_matrix.h | |
parent | 62a03509574eac608f3199b4fd2ad8c00e14c789 (diff) |
Fix T38870: Freezes when jumping in front of a keyframe.
Issue was caused by inverting a degenerate matrix when
evaluating drivers.
Solved by using tweaked inverse code (same as used in Cycles).
Should have no affect on cases when matrix is not degenerate.
Diffstat (limited to 'source/blender/blenlib/BLI_math_matrix.h')
-rw-r--r-- | source/blender/blenlib/BLI_math_matrix.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_math_matrix.h b/source/blender/blenlib/BLI_math_matrix.h index af251480ece..e59c557b327 100644 --- a/source/blender/blenlib/BLI_math_matrix.h +++ b/source/blender/blenlib/BLI_math_matrix.h @@ -166,6 +166,8 @@ void pseudoinverse_m3_m3(float Ainv[3][3], float A[3][3], float epsilon); bool has_zero_axis_m4(float matrix[4][4]); +void invert_m4_m4_safe(float Ainv[4][4], float A[4][4]); + /****************************** Transformations ******************************/ void scale_m3_fl(float R[3][3], float scale); |