Page MenuHome

Bug Report: Undo in Shader Editor, while in Edit Mode
Closed, ArchivedPublic


System Information
Operating system: Windows-7-6.1.7601-SP1 64 Bits
Graphics card: GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 391.35

Blender Version
Broken: version: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash: rBf6cb5f54494e
Worked: (optional)

Short description of error
Undo in Shader Editor when in Edit Mode is not working, CTRL-Z or Edit->Undo is not working like expected.
When you enter Edit Mode, every edit you do in the Shader Editor is not recorded as a single undo-step. While in Edit Mode you can't undo the changes step by step that's been done in the Shader Editor.
Only when you go back to Object Mode, and than do an undo, it will undo everything that's been edited in the Shader Editor to the moment just before you went to Edit Mode.
What the expected behavior would be is regardless the Mode you're in or have been in, it should go through all the little undo steps. That is what it also does when you undo steps from mesh edits and object edits, it automatically switches modes if that's what has happened. Now in Edit Mode the Undo does not respond to any Undo from edits in the Shader Editor.

Exact steps for others to reproduce the error

  • In Shading Workspace, switch also from Object Mode to Edit Mode, with the mesh selected.
  • Do at least two or more edits in the Shader Editor.
  • Try to undo these edits (while still in Edit Mode), and see that nothing is being undone... (bug 1)
  • Go back into Object Mode.
  • Undo once, and see that all edits done in the Shader Editor are reset to the point from just before entering the Edit Mode. (bug 2)



Event Timeline

Demeter Dzadik (Mets) triaged this task as Waiting for Developer to Reproduce priority.

I can reproduce this. The undo steps actually do show up in the undo history (Ctrl+Alt+Z) - They however don't do anything. That is to say, going back in the undo history doesn't do anything, until you go back to the moment you switched to edit mode, which will undo everything that you did in the shader editor. The undo(or in this case, redo) steps at this stage still show up in the history, but they still don't do anything, which is to say, your changes are now lost since you cannot redo them.

This has the potential to lose work for users! That's as bad or worse than a crash imo! :)

Brecht Van Lommel (brecht) closed this task as Archived.
Brecht Van Lommel (brecht) claimed this task.

This is a known limitation of the undo system. While it would be good to improve, for now you can only undo mesh edit operations in edit mode.

In that case I feel like there should be some kind of warning or better yet, completely disable the shader editor while the object is in edit mode. (Let me know if there's already another place where this is being discussed, I'm happy to keep all ideas in one place.)