Undo System Best Practices
Supporting undo and redo is an important part of the user experience. The following is a list of best practices for making sure a plug-in works well with undo system.
- Modifying the track view node list both from a context in which the undo system is holding and not holding is unsafe. 3ds Max can turn the undo system on or off as needed, and adding or removing track view nodes should be considered safe only when the undo system is off. For more details see the following API elements:
ITrackViewNode::AddController()
ITrackViewNode::RemoveItem()
ITrackViewNode::RemoveItem()
ITrackViewNode::SwapPositions()