Page MenuHome

Fix T101109: Animation on nodes problems when dealing with Node Groups
ClosedPublic

Authored by Philipp Oeser (lichtwerk) on Sep 16 2022, 1:06 PM.

Details

Summary

Whenever animation on nodes was transfered to/from nodegroups (grouping/
ungrouping/separating) via BKE_animdata_transfer_by_basepath, it was
possible to create new nodes with the same name (in the formerly same
path -- see report for an example of this) and animation from the
original node was still performed on them. Issue went away after save/
reload.

In order to fully update the action, a depsgraph is now performed on the
action (similar to what is done when renaming for example).

Diff Detail

Repository
rB Blender
Branch
T101109 (branched from master)
Build Status
Buildable 23899
Build 23899: arc lint + arc unit

Event Timeline

Philipp Oeser (lichtwerk) requested review of this revision.Sep 16 2022, 1:06 PM
Philipp Oeser (lichtwerk) created this revision.

Is the operation supposed to only ensure the fucrves are in a synced state or the actual animation re-evaluation is needed? The latter is what the code implements, and the "sideeffect" of it is that unkeyed changes will be lost.

Is the operation supposed to only ensure the fucrves are in a synced state or the actual animation re-evaluation is needed? The latter is what the code implements, and the "sideeffect" of it is that unkeyed changes will be lost.

Good point.
I could argue that BKE_animdata_fix_paths_rename does the same (and I assume loosing unkeyed changes is not desired there either), but yeah, good point.
Will try to spend some time finding a less destructive way to fix this issue [ if you've got a hint, I am all ears :) ]

Tag for ID_RECALC_COPY_ON_WRITE.
But if there is similar functionality which does animation re-evaluation we can also go ahead with ID_RECALC_ANIMATION if the more friendly solution takes time to figure out.

  • use ID_RECALC_COPY_ON_WRITE
This revision is now accepted and ready to land.Sep 23 2022, 10:31 AM