Undo can start affecting modifier settings in edit mode. #82991

Closed
opened 2020-11-25 11:08:17 +01:00 by Gilberto Rodrigues · 16 comments
Contributor

Blender Version
Broken: 2.91 (6c6a5a72c2)
Worked: 2.90

Short description of error
In 2.90 or earlier versions, if you change a modifier setting in edit mode and undo or redo, the modifier changes are ignored, so undo only changed modifiers in object mode. The same if you add or remove a modifier, that was also ignored in edit mode as seen in #63367. That's not always the case anymore in 2.91. Something can trigger undo to start working with modifiers in edit mode, but it behaves inconsistently as it wasn't intentionally implemented. When this bug is triggered, new modifiers can be added and removed in edit mode with undo/redo, but they're added or removed in the wrong order, similarly to what happens in object mode in #75541. Also sometimes if you change a modifier setting in edit mode, then do something else and undo, both actions will be undone at the same time, similarly to what used to happen with tool settings. What is expected is for undo and redo to ignore modifiers settings in edit mode, but when the bug is triggered this does not happen. In object mode, undo behaves mostly like it should, undoing only one thing at a time, and also works well with modifiers settings. I have managed to reproduce it many times already in different steps, two of them involved adding and removing keyframes to trigger it, other didn't. Sharing the file doesn't work because the bug doesn't happen if you save and reopen the file you have to trigger it again.

Exact steps for others to trigger the bug
Add subsurf modifier to cube.
Increase to 2 subdivisions
Tab to Edit Mode
Select a vertex
Move the vertex
Change the modifier setting from catmull clark to simple
Keyframe the number of viewport subdivisions
Remove the Keyframe
Move the vertex again
Undo until you see the modifier setting change from simple back to catmull clark - that's where the bug is kind of triggered
Redo all - the keyframe will be added back in the wrong order as it should not be there after the last redo step
Remove that keyframe again.
Increase number of subdivision
Change from simple to catmull clark
Move the vertex
Undo twice
Redo twice
Change simple to catmull clark
Move the vertex
undo/redo - the bug fully is triggered, now on undo/redo affects any modifier setting change and also new modifiers, which shouldn't happen in edit mode.

Note
Just a note that adding and removing a keyframe isn't required to trigger the bug, just a way I've found to trigger it more often. Here is a video in which all I had done to trigger the bug was change modifier settings, transform the mesh and undo/redo in some order inbetween, no keying done. Unfortunately trying to do the steps of this video from scratch won't trigger the bug. Because I can't know the order of undo/redo I did to trigger it then, as I could only film the undo history.

Undo_modifier_edit mode_bug_nokey.mp4

**Blender Version** Broken: 2.91 (6c6a5a72c297) Worked: 2.90 **Short description of error** In 2.90 or earlier versions, if you change a modifier setting in edit mode and undo or redo, the modifier changes are ignored, so undo only changed modifiers in object mode. The same if you add or remove a modifier, that was also ignored in edit mode as seen in #63367. That's not always the case anymore in 2.91. **Something can trigger undo to start working with modifiers in edit mode**, but it behaves inconsistently as it wasn't intentionally implemented. When this bug is triggered, new modifiers can be added and removed in edit mode with undo/redo, but they're added or removed in the wrong order, similarly to what happens in object mode in #75541. Also sometimes if you change a modifier setting in edit mode, then do something else and undo, both actions will be undone at the same time, similarly to what used to happen with tool settings. What is expected is for undo and redo to ignore modifiers settings in edit mode, but when the bug is triggered this does not happen. In object mode, undo behaves mostly like it should, undoing only one thing at a time, and also works well with modifiers settings. I have managed to reproduce it many times already in different steps, two of them involved adding and removing keyframes to trigger it, other didn't. Sharing the file doesn't work because the bug doesn't happen if you save and reopen the file you have to trigger it again. **Exact steps for others to trigger the bug** Add subsurf modifier to cube. Increase to 2 subdivisions Tab to Edit Mode Select a vertex Move the vertex Change the modifier setting from catmull clark to simple Keyframe the number of viewport subdivisions Remove the Keyframe Move the vertex again Undo until you see the modifier setting change from simple back to catmull clark - that's where the bug is kind of triggered Redo all - the keyframe will be added back in the wrong order as it should not be there after the last redo step Remove that keyframe again. Increase number of subdivision Change from simple to catmull clark Move the vertex Undo twice Redo twice Change simple to catmull clark Move the vertex undo/redo - the bug fully is triggered, now on undo/redo affects any modifier setting change and also new modifiers, which shouldn't happen in edit mode. **Note** Just a note that adding and removing a keyframe isn't required to trigger the bug, just a way I've found to trigger it more often. Here is a video in which all I had done to trigger the bug was change modifier settings, transform the mesh and undo/redo in some order inbetween, no keying done. Unfortunately trying to do the steps of this video from scratch won't trigger the bug. Because I can't know the order of undo/redo I did to trigger it then, as I could only film the undo history. [Undo_modifier_edit mode_bug_nokey.mp4](https://archive.blender.org/developer/F9371764/Undo_modifier_edit_mode_bug_nokey.mp4)
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Couldn't yet find the exact steps to reproduce this

These would be good though

> Couldn't yet find the exact steps to reproduce this These would be good though
Author
Contributor

@lichtwerk I've written the steps from the video up to the point that the bug is triggered and a bit after.

@lichtwerk I've written the steps from the video up to the point that the bug is triggered and a bit after.

Added subscriber: @mano-wii

Added subscriber: @mano-wii

There are too many steps.
I know the intention was to describe the video but is it possible to replicate the bug with fewer steps?
Unfortunately the scenario described is too time consuming for us to track down, we require the bug reporter to narrow down the problem.
If there are many steps to reproduce the problem, please attach a .blend file saved before the bug occurs, so only a few steps are needed to trigger the bug.

There are too many steps. I know the intention was to describe the video but is it possible to replicate the bug with fewer steps? Unfortunately the scenario described is too time consuming for us to track down, we require the bug reporter to narrow down the problem. If there are many steps to reproduce the problem, please attach a .blend file saved before the bug occurs, so only a few steps are needed to trigger the bug.
Author
Contributor

Yes, the first time the bug triggered for me was in just a few steps. I had just downloaded 2.91 to test the new subdiv modifier options and then after a minute I noticed that undo/redo was affecting modifiers. All I did to trigger the bug then was to change modifier settings, transform the mesh and undo/redo all mixed in some order. I wasn't recording as I wasn't expecting some bug to occur to know when did I undo/redo.

Yes, the first time the bug triggered for me was in just a few steps. I had just downloaded 2.91 to test the new subdiv modifier options and then after a minute I noticed that undo/redo was affecting modifiers. All I did to trigger the bug then was to change modifier settings, transform the mesh and undo/redo all mixed in some order. I wasn't recording as I wasn't expecting some bug to occur to know when did I undo/redo.
Author
Contributor

@mano-wii As I've mentioned, sharing the file does not work, since the bug vanishes when saving and reopening the file.

@mano-wii As I've mentioned, sharing the file does not work, since the bug vanishes when saving and reopening the file.
Gilberto Rodrigues changed title from Undo affecting modifier settings in edit mode. to Undo starts affecting modifier settings in edit mode. 2020-12-06 03:54:21 +01:00
Gilberto Rodrigues changed title from Undo starts affecting modifier settings in edit mode. to Undo can start affecting modifier settings in edit mode. 2020-12-06 03:55:14 +01:00
Author
Contributor

@lichtwerk @mano-wii .
After some hours I have found and written simpler steps to reproduce the bug. Please have a look.

@lichtwerk @mano-wii . After some hours I have found and written simpler steps to reproduce the bug. Please have a look.

Added subscriber: @iss

Added subscriber: @iss

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'

I can reproduce this after following steps exactly.
version: 2.92.0 Alpha, branch: master, commit date: 2020-12-06 15:58, hash: a90504303e

I can reproduce this after following steps exactly. version: 2.92.0 Alpha, branch: master, commit date: 2020-12-06 15:58, hash: `a90504303e`

Added subscriber: @mont29

Added subscriber: @mont29

Changed status from 'Confirmed' to: 'Archived'

Changed status from 'Confirmed' to: 'Archived'

The fact that non-editmode operations cannot be undone in Edit mode is old known issue (see #63367 e.g., we have several similar reports, also affects Armature edit mode etc.).

Fact that new undo backend code partially/wrongly start to store global undo steps while in edit mode is more a glitch than anything else.

The fact that non-editmode operations cannot be undone in Edit mode is old known issue (see #63367 e.g., we have several similar reports, also affects Armature edit mode etc.). Fact that new undo backend code partially/wrongly start to store global undo steps while in edit mode is more a glitch than anything else.
Author
Contributor

I don't get it. Why is it not considered a bug? What I'm reporting is that the known issue actually stops happening, contrary to what's expected, which makes undo in edit mode unpredictable. I'm not telling you to make undo work with modifiers in edit mode, I'm asking you to make it behave like in the known issue and like previous versions (2.90, or 2.83). If this undo in edit mode change from 2.90 to 2.91 was intentional, why would you do that? And if it is intentional you should have closed the known issue as invalid since it's not what happens anymore in 2.91 and 2.92 and make this the new known issue, which is not what I want. We need undo to be consistent and ignore modifier changes in edit mode like stated in the Known Issue, or be fixed to work in edit mode. The way it is now is just very undesirable to say the least.

I don't get it. Why is it not considered a bug? What I'm reporting is that the known issue actually stops happening, contrary to what's expected, which makes undo in edit mode unpredictable. I'm not telling you to make undo work with modifiers in edit mode, I'm asking you to make it behave like in the known issue and like previous versions (2.90, or 2.83). If this undo in edit mode change from 2.90 to 2.91 was intentional, why would you do that? And if it is intentional you should have closed the known issue as invalid since it's not what happens anymore in 2.91 and 2.92 and make this the new known issue, which is not what I want. We need undo to be consistent and ignore modifier changes in edit mode like stated in the Known Issue, or be fixed to work in edit mode. The way it is now is just very undesirable to say the least.

This report does not add anything really to known situation, bug is that non-edit changes get ignored undo-wise while in edit mode, as already reported in #63367 etc.

This report does not add anything really to known situation, bug is that non-edit changes get ignored undo-wise while in edit mode, as already reported in #63367 etc.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#82991
No description provided.