Page MenuHome

Undo re-orders dope sheet items which have cyclic dependencies
Closed, ArchivedPublic


System Information
Win 7 x64, 560ti 1GB

Blender Version
Broken: 2.69.x
Worked: (Not sure it ever did)

If two items have a cyclic dependency with one another and you are undoing any keyframe changes on the dope sheet, the cyclic dependent items swap places with each other on the dope sheet list.

Exact steps for others to reproduce the error

Right click the keyframe on frame 0 of the Cone object, Shift+D then drag over a couple of frames and place the duplicated keyframe. Then undo the change and you will notice the two Cube objects swap places on the dope sheet. Note the cone is not constrained by/to anything, but the cubes are 'child-of' each other.

PS. I'm aware the cyclic dependency in my example is one that you would never actually use, but even the unproblematic 'acceptable' cyclic dependencies cause this issue.



Event Timeline

Charles Murray (mtoronto) set Type to Bug.
Charles Murray (mtoronto) created this task.
Charles Murray (mtoronto) raised the priority of this task from to Needs Triage by Developer.

@Joshua Leung (aligorith), seems dopesheet displays channels in order of how the bmain is sorted, is it expected behavior? This way any change which affects on dopesheet could reshuffle channels.. Does it make sense to sort channels alphabetically?

Sergey Sharybin (sergey) triaged this task as Confirmed, Medium priority.Feb 6 2014, 8:58 AM

In short: This is one of those "won't fix" in the short-medium term things.

From a usability perspective, yes it's not that great. However, this is an expected downside to the way it is currently intended to work. Without implementing some kind of cache (*shudders*) for listing out all the ID blocks in the scene in the order that they need to appear here, there's not much we can do about this in the short term. Completing the depsgraph refactor will likely give us an opportunity to improve stuff a bit here, since we won't need to be sorting bases in the scene by dependency order, so things will hopefully become more stable (and/or may be likely to be able to return to alphabetical ordering or at least user-defined order).

Bastien Montagne (mont29) closed this task as Archived.

Thanks for the report, but no point in keeping it open forever. Added a note in our TODO list.