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

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/grap |https://invent.kde.org/grap
                   |hics/krita/commit/d67d92925 |hics/krita/commit/813ba5eb2
                   |cb67a43e091733329a8053e6585 |eded3987e1292219dfa57dc2677
                   |cae7                        |92fa

--- Comment #6 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit 813ba5eb2eded3987e1292219dfa57dc267792fa by Dmitry Kazakov.
Committed on 04/06/2021 at 11:44.
Pushed by dkazakov into branch 'master'.

Fix update artifacts when transforming vector layers

There were two problems caused by asynchronous nature of vector
layer transformations:

1) Shape layer transformation happens in the GUI thread asynchronously,
   therefore just ask for layer's extent() right after the transformation
   is not enough, this data is not yet ready.

2) Even when requesting shapeLayer->extent() for fetching oldDirtyRect,
   there is a race condition possible. If resetCache() has been called
   quite recently, then the extent will be null. Therefore the patch adds
   a special KisExternalLayer::theoreticalBoundingRect() that is supposed
   to overcome this limitation.

M  +5    -0    libs/image/kis_external_layer_iface.cc
M  +7    -1    libs/image/kis_external_layer_iface.h
M  +5    -0    libs/ui/flake/kis_shape_layer.cc
M  +2    -0    libs/ui/flake/kis_shape_layer.h
M  +15   -2   
plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.cpp

https://invent.kde.org/graphics/krita/commit/813ba5eb2eded3987e1292219dfa57dc267792fa

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

Reply via email to