Blender Git Commit Log

Git Commits -> Revision c04cceb

Revision c04cceb by Sybren A. Stvel (master)
July 9, 2021, 09:21 (GMT)
Fix T89435: Reordering FCurves can cause crash or corruption

Correctly reset `prev` and `next` pointers of action group FCurves when
separating them into distinct `ListBase`s per `bActionGroup`.

These `NULL` pointers are necessary to temporarily demarcate the start &
end of the `bActionGroup::channels` list. Having them still point to
other FCurves caused ordering issues when moving curves towards the
start/end of a group.

This commit corrects the above issue and adds versioning code to rectify
any ordering issues that may have been caused. For this purpose the
`BKE_action_groups_reconstruct()` function is rewritten to avoid relying
on the `bAction::curves` list order or `prev` link integrity.

Differential Revision:

Commit Details:

Full Hash: c04cceb40ed5574dcba8a55cfe97a1132c869895
Parent Commit: b69ab42
Committed By: Alexander Gavrilov
Lines Changed: +192, -40

By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021