Maniphest T99922

Editing a curve node in edit mode breaks undos
Closed, Duplicate

Assigned To
None
Authored By
Vincent Boistel (Masaru641)
Jul 23 2022, 1:48 AM
Tags
  • BF Blender
Subscribers
Pratik Borhade (PratikPB2123)
Vincent Boistel (Masaru641)

Description

System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2060 SUPER/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 516.59

Blender Version
Broken: version: 3.2.1, branch: master, commit date: 2022-07-05 15:44, hash: `rBa2d59b2dac9e

Short description of error
If a "curve" node is edited while the viewport is on edit mode, undos don't do anything until edit mode is left.

Exact steps for others to reproduce the error

  • Go in edit mode
  • Modify a curve node in any way (RGB Curve, Float Curve and Vector Curve node all share this issue), this is shown in the undo history as "Unknown action"
  • Without leaving edit mode, press the undo button (or Ctrl+Z)

Now, undo won't do anything until you reach the point where you switched to edit mode (anything past that can't be undone), and moving through the undo history won't work at all. Going out of edit mode fixes this.

Editing the curve in object mode doesn't break undos, but it still is shown as "Unknown action" in the undo history.

Tested in old versions up to 2.8 (I don't know how to access shader nodes in 2.7 and before), couldn't find a single version that didn't have this bug.

Related Objects

Mentioned Here
T71895: Undo doesn't consider changes in nodetree when object is in edit and texture paint mode
rBa2d59b2dac9e: Fix T99191: Boolean modifier creates invalid material indices

Event Timeline

Vincent Boistel (Masaru641) created this task.Jul 23 2022, 1:48 AM
Pratik Borhade (PratikPB2123) added a subscriber: Pratik Borhade (PratikPB2123).Jul 23 2022, 5:10 AM

Thanks for the report. This is a global vs edit-mode undo issue.
In edit mode, undo steps stores data for the changes occurred in editmesh, editcurve, etc. and all other changes like keyframe, nodes, UI, etc. are ignored (they are handled in global undo).
We already have a report for this so I'll close this as duplicate: T71895: Undo doesn't consider changes in nodetree when object is in edit and texture paint mode