https://bugs.kde.org/show_bug.cgi?id=449964

Dmitry Kazakov <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|CONFIRMED                   |RESOLVED
      Latest Commit|                            |https://invent.kde.org/grap
                   |                            |hics/krita/-/commit/1e0e095
                   |                            |b69513d9a9d0a9b53c0512f50e3
                   |                            |fc7977

--- Comment #3 from Dmitry Kazakov <[email protected]> ---
Git commit 1e0e095b69513d9a9d0a9b53c0512f50e3fc7977 by Dmitry Kazakov.
Committed on 10/09/2024 at 14:27.
Pushed by dkazakov into branch 'master'.

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/1e0e095b69513d9a9d0a9b53c0512f50e3fc7977

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to