Created attachment 161239 [details] artifacts SUMMARY If we put a filter layer on top of some other layers, some artifacts appear when moving those bottom layers if the filter produces new pixels and extends the contents rect (blur filters, phong bumpmap, pixelize, etc.) STEPS TO REPRODUCE 1. open a 1 layer image 2. put a gaussian filter on top of the layer with, say, 50px radius 3. move the layer below with the move tool OBSERVED RESULT See atachment. some traces are left behind, not erased. EXPECTED RESULT No traces. SOFTWARE/OS VERSIONS Docker Image
Same thing seems to happen if I put to paint layers in a group and apply a filter mask to the group.
Git commit 67c02bc306dcb16165e2e8475239cc02c5e1a3cc by Dmitry Kazakov. Committed on 31/08/2023 at 13:50. Pushed by dkazakov into branch 'master'. [not for 5.2.0] Fix artifacts when moving a layer under a blur adjustment layer Basically, KisRefreshSubtreeWalker should explicitly reset change rect **only** when used in standalone mode. Inside KisFullRefreshWalker mode the change rect is calculated in advance by the parent walker. M +1 -1 libs/image/kis_full_refresh_walker.h M +5 -2 libs/image/kis_refresh_subtree_walker.h https://invent.kde.org/graphics/krita/-/commit/67c02bc306dcb16165e2e8475239cc02c5e1a3cc
Git commit a0951dd434346fe96ef4f6afdfaa9d4d7bf41187 by Dmitry Kazakov. Committed on 28/02/2024 at 12:37. Pushed by dkazakov into branch 'kazakov/for-5.2'. [not for 5.2.0] Fix artifacts when moving a layer under a blur adjustment layer Basically, KisRefreshSubtreeWalker should explicitly reset change rect **only** when used in standalone mode. Inside KisFullRefreshWalker mode the change rect is calculated in advance by the parent walker. M +1 -1 libs/image/kis_full_refresh_walker.h M +5 -2 libs/image/kis_refresh_subtree_walker.h https://invent.kde.org/graphics/krita/-/commit/a0951dd434346fe96ef4f6afdfaa9d4d7bf41187