Sybren A. Stüvel
c0c7e34bab
Fix #119615 : Anim, Crash with NLA tweak mode and linked Armatures
...
Fix a crash when inserting a key with tweak mode enabled, but where
`AnimData::actstrip` was NULL.
The root cause of this is that two pointers in the `AnimData` struct
(`act_track` and `actstrip`) are expected to be set when NLA tweak mode
is enabled, BUT these are not exposed to RNA and thus invisible to the
library overrides system. As such, they are NULL when loading from disk,
while the `ADT_NLA_EDIT_ON` flag still indicates they are to be used.
Rather than adding a NULL pointer check (and having to add that in many
more places), I used this two-pronged approach:
- Extend the 'NLA tweakmode' override apply code, to set the `act_track`
and `actstrip` pointers when they are incorrectly NULL. This is done
by lookup of the track and strip by name.
- Add versioning code to exit out of tweak mode whenever the
`ADT_NLA_EDIT_ON` flag is set, but those two pointers are still NULL.
The last step was necessary with the example file attached to the bug
report, as that was saved with a buggy blender version. New saves work
just fine.
Pull Request: https://projects.blender.org/blender/blender/pulls/119632
2024-03-19 10:45:32 +01:00
..
2023-05-31 16:19:06 +02:00
2024-03-18 15:04:12 +01:00
2023-09-26 18:18:56 +02:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-01-30 14:42:13 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-09-06 00:48:50 +02:00
2023-12-05 15:10:27 +01:00
2023-12-05 15:10:27 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-11-16 11:41:55 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-26 21:39:19 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-21 19:13:46 +01:00
2024-02-06 17:06:44 +01:00
2024-03-18 15:04:12 +01:00
2023-11-07 15:42:52 +11:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-21 19:26:31 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 20:15:36 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-11-21 14:12:23 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-09-01 21:37:11 +02:00
2024-02-02 19:55:06 +01:00
2024-03-18 15:04:12 +01:00
2023-10-30 21:40:35 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-12-20 13:25:28 -05:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-11-16 11:41:55 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2023-12-28 16:49:31 -05:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2023-11-16 11:41:55 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-30 14:42:13 -05:00
2023-12-20 10:11:01 +11:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-05 05:35:29 +01:00
2024-03-03 22:50:51 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-09 18:34:36 +01:00
2024-01-15 12:44:14 -05:00
2024-03-18 15:04:12 +01:00
2024-01-29 19:04:13 -05:00
2024-01-15 12:44:14 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-31 14:04:56 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-24 10:55:16 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-20 19:17:36 +01:00
2024-03-18 15:04:12 +01:00
2023-11-30 19:51:22 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-23 21:10:33 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-12-26 23:59:44 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-12-19 20:39:05 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-12-28 16:49:31 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 21:43:22 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-15 12:44:14 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-29 19:04:13 -05:00
2024-01-24 20:38:46 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2023-12-04 07:55:47 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-30 23:41:59 +02:00
2023-12-20 02:21:48 +01:00
2024-03-18 15:04:12 +01:00
2023-09-26 18:18:56 +02:00
2024-03-19 10:45:32 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-19 12:08:48 -05:00
2023-08-16 00:20:26 +10:00
2024-01-03 13:38:14 +01:00
2024-01-26 12:40:01 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2023-08-19 23:52:47 +10:00
2024-01-19 20:29:38 +01:00
2024-01-26 11:45:56 +01:00
2024-03-18 15:04:12 +01:00
2024-01-19 20:29:38 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-19 14:32:28 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-19 20:29:38 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-12-20 20:58:38 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-11-15 18:46:07 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-12-11 07:50:29 -05:00
2023-12-20 20:58:38 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-12-11 07:50:29 -05:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-01-19 20:29:38 +01:00
2023-08-16 00:20:26 +10:00
2024-01-19 20:29:38 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2023-08-16 00:20:26 +10:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-02-06 09:28:30 +11:00
2024-03-18 15:04:12 +01:00
2024-01-31 14:04:56 -05:00
2024-03-18 15:04:12 +01:00
2024-01-10 15:20:29 +01:00
2024-01-10 15:20:29 +01:00
2024-03-18 15:04:12 +01:00
2024-01-20 19:17:36 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00
2024-03-18 15:04:12 +01:00