Containerise will now happen inside an undo chunk, disallowing to undo a part of the command.
Additional review information
Without this there is a bug if the user were to Load something and they would press UNDO a few times that they may have undo'ed a part of the containerisation. In particular, they may have undo'ed to JUST a state where the container is recognized but it lacks the representation attribute - meaning it will break anything that tries to get the container["representation"] value from the containers in the scene - e.g. loader, publishing from the scene (on collect input versions), etc.
This makes it so that if the user were to undo - it undoes the full creation of the container.
Technically we could ALSO add the same undo chunk decorator on all the maya loader plug-in methods to ensure they all operate in a single undo chunk.
Testing notes:
Loading in Maya should work.
Undoing should not undo 'parts of the container' like e.g. the creation of attributes on it but the full creation of it in one go.
TIP: To see containers in the outliner enable "Ignore hidden in outliner":
Changelog Description
Containerise will now happen inside an undo chunk, disallowing to undo a part of the command.
Additional review information
Without this there is a bug if the user were to Load something and they would press UNDO a few times that they may have undo'ed a part of the containerisation. In particular, they may have undo'ed to JUST a state where the container is recognized but it lacks the representation attribute - meaning it will break anything that tries to get the
container["representation"]
value from the containers in the scene - e.g. loader, publishing from the scene (on collect input versions), etc.This makes it so that if the user were to undo - it undoes the full creation of the container.
Technically we could ALSO add the same undo chunk decorator on all the maya loader plug-in methods to ensure they all operate in a single undo chunk.
Testing notes:
TIP: To see containers in the outliner enable "Ignore hidden in outliner":