Fixes
[#12106] Memory leak in sequencer (>10MB/frame)
in parts: inner contents of meta strips are freed up after calculation
making more room for the cache.
Actually have to think of a mechanism, that remembers, which output
frames are asked for and caches only those.
Transform conversion was resetting constraints when used to calculate orbit center.
This is a tentative fix, it fixes this particular case but maybe not all.
Added proper gear support and fixed some misc errors in the setup of this transformation (negative values hav no effect, so use absolute value and other small things like that)
This fixes:
[#11745] Blender crashes when changing Scenes on Sequencer`s Strips
containing:
- last_seq was set to null by scene-render
- button handling wasn't very robust (didn't check for null)
- REDRAWBUTSSCENE was missing
the problem was that the buttons would use the first nurb if there was no 'lastnu', but the makeknots function only checked for lastnu. this meant the knots would not get re-allocated on
values would be written outside the array.
added checks for a nurbes orderu being larger then pntsu.
This has the same effect as the curve having only 1 point. (its display list is not generated
but it is still added but a dummy displist with zero points is made)
memcpy was also being used where the memory overlaped (probably worked in most cases but this is incorrect and valgrind complained), use memmove
instead.
This fixes: [#11642] VSE: crash with Speed Control and play head
Special sequence update (holding down left mouse button on a strip)
could lead to a crash when using the speed control effect, since
we didn't check properly for valid cfras (and therefore if
TStripElem is null... )
front and back face test was reversed. This problem still shows up when sculpting from the inside of a mesh, but this
cant be worked around unless its know which faces are visible or not. (tried some different workarounds but this
seems acceptable)
IPO's were not being checked for drivers that linked to bones that were renamed when fixing dependencies after renaming bones. Note: PyDrivers will not benefit from this.
Fixing UV Quad Constraint when cancelling transform. Also, transdata conversion is a bit faster for all UV transforms.
Patch by Cambo, reviewed and revised.
Fixed by only conditionally resetting the start of the triangle used to calculate the angle to when an angle is actually measured (so really small angle don't result in continuous deltas of 0 degree).
However, the smallest rotation angle is still limited by the precision of the acos function (here: 0.02 degrees, 0.02 / 30 with Shift pressed).