https://bugs.kde.org/show_bug.cgi?id=449964
Dmitry Kazakov <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit|https://invent.kde.org/grap |https://invent.kde.org/grap |hics/krita/-/commit/1e0e095 |hics/krita/-/commit/f3aa706 |b69513d9a9d0a9b53c0512f50e3 |299df82c3cc045dfd20a721bf1b |fc7977 |e546db --- Comment #4 from Dmitry Kazakov <[email protected]> --- Git commit f3aa706299df82c3cc045dfd20a721bf1be546db by Dmitry Kazakov. Committed on 10/09/2024 at 14:28. Pushed by dkazakov into branch 'krita/5.2'. Fix incorrect threaded image access in multiple clone layers We used to do an additional KisAsyncMerger pass in KisUpdateOriginalVisitor, which could cause the walker to go out of its declared accessRect(). It could happen when the source layer had transform masks with non- affine transformations. For such transformations, needRect depends on the extent() of the parent layer, hence accessRect() may change between the walker pass and the async merger pass. Now the design is slightly changed. The source layers of the clones are added to the main pass of the walker, so they are processed in the same async merger and their application rect is guaranteed to stay stable. M +1 -0 libs/image/CMakeLists.txt M +10 -59 libs/image/kis_async_merger.cpp M +0 -8 libs/image/kis_async_merger.h A +114 -0 libs/image/kis_base_rects_walker.cpp [License: GPL(v2.0+)] M +39 -14 libs/image/kis_base_rects_walker.h M +8 -4 libs/image/kis_full_refresh_walker.h M +3 -3 libs/image/kis_merge_walker.cc M +26 -53 libs/image/kis_refresh_subtree_walker.h M +99 -14 libs/image/tests/kis_walkers_test.cpp M +2 -0 libs/image/tests/kis_walkers_test.h https://invent.kde.org/graphics/krita/-/commit/f3aa706299df82c3cc045dfd20a721bf1be546db -- You are receiving this mail because: You are watching all bug changes.
