Bug 443188

Summary: Ability to undo iterative transform operations is sometimes lost
Product: [Applications] krita Reporter: tomtomtomreportingin
Component: Tools/TransformAssignee: sh_zam <shzam>
Status: RESOLVED FIXED    
Severity: normal CC: shzam
Priority: NOR    
Version First Reported In: 5.0.0-beta1   
Target Milestone: ---   
Platform: Appimage   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description tomtomtomreportingin 2021-10-01 07:40:17 UTC
SUMMARY
The ability to undo iterative transforms (transforming without confirming) is lost if certain steps are followed.

This is not a regression of Krita 5.

STEPS TO REPRODUCE
1. Open a photo in Krita.
2. Activate Liquify Transform on the photo.
3. Do a liquify stroke.
4. Hit Enter to confirm.
5. Hit Undo.
6. Activate Liquify Transform again and perform another liquify stroke.
7. Hit Undo.

OBSERVED RESULT
No undo is performed. The behavior is fixed when switching documentations or doing new transformations after the confirmed transformation.

EXPECTED RESULT
Undo should still be usable after undoing a full transformation.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Debian sid
KDE Plasma Version: 5.21.5
KDE Frameworks Version: 5.86.0
Qt Version: 5.12.11 (Appimage)
Comment 1 tomtomtomreportingin 2021-10-01 07:41:24 UTC
"switching documentations"... Sorry, it's a bit late here, I meant "switching documents".
Comment 2 Bug Janitor Service 2021-10-05 11:32:36 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1080
Comment 3 Dmitry Kazakov 2021-10-06 09:03:46 UTC
Git commit e7216af7cc6f0d9c078faf20422a79d1ce834786 by Dmitry Kazakov, on behalf of Sharaf Zaman.
Committed on 06/10/2021 at 09:03.
Pushed by dkazakov into branch 'master'.

Bugfix: Don't disable undo/redo actions

The intermediate actions (like that of transform tools) don't create an
undo action on primary undo stack which leaves undo action as disabled
until the `KisActionManager::updateGUI` is triggered which re-enables
the actions.

M  +0    -3    libs/ui/KisUndoActionsUpdateManager.cpp

https://invent.kde.org/graphics/krita/commit/e7216af7cc6f0d9c078faf20422a79d1ce834786
Comment 4 Halla Rempt 2021-10-06 09:51:16 UTC
Git commit 02920a6b7db9e9f2a7924446d5497aca4945942d by Halla Rempt, on behalf of Sharaf Zaman.
Committed on 06/10/2021 at 09:50.
Pushed by rempt into branch 'krita/5.0'.

Bugfix: Don't disable undo/redo actions

The intermediate actions (like that of transform tools) don't create an
undo action on primary undo stack which leaves undo action as disabled
until the `KisActionManager::updateGUI` is triggered which re-enables
the actions.
(cherry picked from commit e7216af7cc6f0d9c078faf20422a79d1ce834786)

M  +0    -3    libs/ui/KisUndoActionsUpdateManager.cpp

https://invent.kde.org/graphics/krita/commit/02920a6b7db9e9f2a7924446d5497aca4945942d