d7dd45e4da1f7dc71bf1b2c96e7fe482ac4a50a4
When moving a handle so its length is 0, the other handle was automatically set to 0 as well. Cancelling the action didn't move the other handle back to 0, but set its length to 1. The reason for that was that the code tries to maintain the relation between the two handles, but that would lead to a divide by 0 when either of the handles has a length of 0. So it would set the handle length to 1 in that case. The fix is to ensure that the length of a handle is never 0. This is done by clamping it at the key position with a threshold of 0.001 and an extra floating point step to support large floating point values. This should not affect animation in any way. This was discussed in the animation & rigging module meeting https://devtalk.blender.org/t/2025-06-26-animation-rigging-module-meeting/41272#p-153605-patches-review-decision-time-5 Co-authored by Nathan Vegdahl Pull Request: https://projects.blender.org/blender/blender/pulls/141029
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
