SUMMARY Undoing Flatten Layer logs from KisAsyncMerger::startMerge > BUG: The walker hasn't reached the root layer! > Start node: KisGroupLayer(0x6000027b1fc0, name = "Copy of Group 3") Requested rect: QRect(0,0 512x512) > An inconsistency in the walkers occurred! > Please report a bug describing how you got this message. STEPS TO REPRODUCE 1. Open a document, make some layers, Quick Group them and then Merge Group. 2. Undo the Flatten Layer step. OBSERVED RESULT A warning. EXPECTED RESULT No warning. SOFTWARE/OS VERSIONS Krita 5.3.0-prealpha git 7df07038
Hi, Freya! Could you please send me the testing image you use to reproduce the bug? I cannot reproduce it here it seems ;(
On further testing, it only happens if there is another layer beneath the Group Layer. I'd used a new document with a locked Background layer and grouped two Paint Layers on top of it.
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/2070
Git commit e0d1ae3c174fbb05880b65d58ff4a35c68d642aa by Dmitry Kazakov. Committed on 13/02/2024 at 09:15. Pushed by dkazakov into branch 'master'. Fix a warning on undoing flattening a group When updates are issued in the middle of layer addition/removal it may happen that some updates will never reach the root node, which is a bug. And the warning told us about that. The patch moves the updates into a separate command that emits them in a batch **after** all node modifications are finished. M +1 -0 libs/image/CMakeLists.txt A +101 -0 libs/image/commands/KisBatchUpdateLayerModificationCommand.cpp [License: GPL(v2.0+)] A +52 -0 libs/image/commands/KisBatchUpdateLayerModificationCommand.h [License: GPL(v2.0+)] M +1 -1 libs/image/commands/kis_image_command.h M +54 -35 libs/image/kis_layer_utils.cpp M +13 -0 libs/image/kis_layer_utils.h https://invent.kde.org/graphics/krita/-/commit/e0d1ae3c174fbb05880b65d58ff4a35c68d642aa
Git commit 25c5797f02acf4f32c272fa4966a90dac29b883f by Dmitry Kazakov. Committed on 16/09/2024 at 12:31. Pushed by dkazakov into branch 'krita/5.2'. Fix a warning on undoing flattening a group When updates are issued in the middle of layer addition/removal it may happen that some updates will never reach the root node, which is a bug. And the warning told us about that. The patch moves the updates into a separate command that emits them in a batch **after** all node modifications are finished. # Conflicts: # libs/image/CMakeLists.txt M +1 -0 libs/image/CMakeLists.txt A +101 -0 libs/image/commands/KisBatchUpdateLayerModificationCommand.cpp [License: GPL(v2.0+)] A +52 -0 libs/image/commands/KisBatchUpdateLayerModificationCommand.h [License: GPL(v2.0+)] M +1 -1 libs/image/commands/kis_image_command.h M +54 -35 libs/image/kis_layer_utils.cpp M +13 -0 libs/image/kis_layer_utils.h https://invent.kde.org/graphics/krita/-/commit/25c5797f02acf4f32c272fa4966a90dac29b883f