Bug 435296 - [Master] Transform masks aren't properly rendered
Summary: [Master] Transform masks aren't properly rendered
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: git master (please specify the git hash!)
Platform: Debian unstable Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2021-04-03 07:40 UTC by tomtomtomreportingin
Modified: 2021-05-20 11:00 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tomtomtomreportingin 2021-04-03 07:40:01 UTC
git 26f1427

SUMMARY
When transforming Clone layers, they will often disappear.

STEPS TO REPRODUCE
1. Draw something.
2. Add a clone layer.
3. Add a transform mask to the clone layer.
4. Transform it.

OBSERVED RESULT
The clone layer will disappear. It can temporarily be brought back by hiding and unhiding the transform mask or clone layer, but it will disappear again after a few seconds.

EXPECTED RESULT
The clone rendering should not disappear.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Debian sid
KDE Plasma Version: 5.20.5
KDE Frameworks Version: 5.78.0
Qt Version: 5.15.2
Comment 1 tomtomtomreportingin 2021-04-03 07:42:27 UTC
Correction: This also happens to regular layers with transform masks.
Comment 2 Ahab Greybeard 2021-04-04 19:45:38 UTC
I can confirm this for the Apr 01 5.0.0-prealpha (git 95a36b) and the Apr 04 5.0.0-prealpha (git 4e05185) appimages.

For the clone layer it can also be brought back by hiding and unhiding its source layer.

Hiding the transform mask on the clone layer does not bring it back, it's the unhiding that does it.

For a paint layer, it's the hiding of the transform mask that brings it back, then if you unhide the mask it disappears after a few seconds.

None of this happens with the 4.4.3 or the Apr 04 4.4.4-alpha (git 27d5b12) appimages.

Setting to Confirmed
Comment 3 Eoin O'Neill 2021-04-12 20:26:35 UTC
Git commit 2edd4823e656cc0c4d3177aaeb8000165d1e1606 by Eoin O'Neill.
Committed on 12/04/2021 at 20:14.
Pushed by eoinoneill into branch 'master'.

Fixed two bugs regarding animated content and transforms.

1) Flattening a layer w/ transform content will now properly render out all keyframes
with proper transform (no more blanks).
2) Transform masks will always render properly on animated layers when there
are no keyframes on the transform mask, but there is content on the transformed layer.
There were certain circumstances where no projection update was applied at all, which
was not intended.
Related: bug 435599

M  +4    -0    libs/image/kis_layer_utils.cpp
M  +4    -2    libs/image/kis_recalculate_transform_mask_job.cpp

https://invent.kde.org/graphics/krita/commit/2edd4823e656cc0c4d3177aaeb8000165d1e1606
Comment 4 Dmitry Kazakov 2021-05-20 07:52:24 UTC
The fix for this bug causes a regression bug 436642
Comment 5 Dmitry Kazakov 2021-05-20 11:00:58 UTC
Git commit 348d57b23bffaca39c51e0b558460158c5e745c1 by Dmitry Kazakov.
Committed on 20/05/2021 at 11:00.
Pushed by dkazakov into branch 'master'.

Fix rendering of the final projection if the transform mask

There was a misprint in KisTransformMaskAdapter::transformDevice(),
which called a wrong function override.
Related: bug 435599, bug 436642

M  +1    -1    libs/image/kis_recalculate_transform_mask_job.cpp
M  +1    -1    plugins/tools/tool_transform2/kis_transform_mask_adapter.cpp

https://invent.kde.org/graphics/krita/commit/348d57b23bffaca39c51e0b558460158c5e745c1