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

amyspark <a...@amyspark.me> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|CONFIRMED                   |ASSIGNED
                 CC|                            |emmetoneill....@gmail.com
           Assignee|krita-bugs-n...@kde.org     |dimul...@gmail.com

--- Comment #4 from amyspark <a...@amyspark.me> ---
I found the root cause. Shape layers, when imported via a document's openPath
or importDocument and not linked to the GUI, are never painted at all because
the strokes are not given a chance to execute. This is caused by a mix of
commits.

First, commit dc4e44f448ba5fc8379ac7751baf2638593b0ac0, which was first
introduced between 4.1.5 and 4.1.7, as the reporter surmised. The revert didn't
fix the paint because there's a second commit compounding this, which removes
all avenues of synchronous painting:

commit 5355a56cf0b0eb7844f612d61946f335ce8bac23
Author: Dmitry Kazakov <dimul...@gmail.com>
Date:   Wed Dec 4 17:24:25 2019 +0300

    Remove synchronous update capabilities from KisShapeLayerCanvas

    After we fixed KoShapeManager to be thread-safe, we can safely rerender
    the layer in background stroke. It is faster and looks smoother for the
    user.

And finally, the jobs are killed here. This didn't cause an issue pre 4.1.7
because said layers were synchronously painted:

commit 10b7e991fef3cba64c00d61543ad135656071e04
Author: Dmitry Kazakov <dimul...@gmail.com>
Date:   Sun Feb 15 22:10:38 2015 +0400

    Fix applying transform masks to file layers

    1) The original() of the file layer should store the correct
       KisDefaultBounds object. That was the exact cause of the bug.

    2) KisSafeDocumentLoader should not keep the entire copy of the
       document in memory all the time. Clear the pointer when loaded.

    3) Add an kritarc option to enlarge the are available for transform
       mask data fetching outside the image.

       Name: transformMaskOffBoundsReadArea
       Type: qreal

       Default value is 0.5, which means the image is expanded up to half
       its size into each of the four direction.

    4) Added a unittest for KisFileLayer

Assigning to Dmitry as the sum of all commits makes it an async jobs-related
issue.

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

Reply via email to