https://bugs.kde.org/show_bug.cgi?id=492320
--- Comment #10 from Dmitry Kazakov <dimul...@gmail.com> --- Git commit 1d1159b5eaafed77f0d3f86fcf54289f3c1abe9c by Dmitry Kazakov. Committed on 05/09/2024 at 11:45. Pushed by dkazakov into branch 'krita/5.2'. Fix infinite loop with combination of clone + transform-mask-on-source Some tricky combination of transform masks and clone layers could cause an infinite loop, e.g. this one: +-----------------+ |root | | clone_of_p1 -+ | | paint 2 | | | paint 1 <-+ | | transf1 | +-----------------+ When a clone layer is updated, it may request recalculation of the source layer in the areas outside the bounds of the image. This outside-the-image update could cause the async regeneration of the mask. And async regeneration of the mask could cause an update of the clone layer, which would close the infinite loop. M +6 -1 libs/image/kis_transform_mask.cpp M +6 -1 libs/image/tests/CMakeLists.txt A +- -- libs/image/tests/data/clone_layer_test/tmask_source_00_initial.png A +- -- libs/image/tests/data/clone_layer_test/tmask_source_10_transform_mask_initial_static.png A +- -- libs/image/tests/data/clone_layer_test/tmask_source_20_final.png M +110 -0 libs/image/tests/kis_clone_layer_test.cpp M +4 -0 libs/image/tests/kis_clone_layer_test.h M +39 -109 plugins/tools/tool_transform2/tests/TransformStrokeStrategyTest.cpp M +9 -6 sdk/tests/KisDumbTransformMaskParams.cpp A +87 -0 sdk/tests/KisTransformMaskTestingListener.h [License: GPL(v2.0+)] https://invent.kde.org/graphics/krita/-/commit/1d1159b5eaafed77f0d3f86fcf54289f3c1abe9c -- You are receiving this mail because: You are watching all bug changes.