Bug 392229

Summary: Some Transform Masks on a layer do not Export properly
Product: [Applications] krita Reporter: Ahab Greybeard <ahab.greybeard>
Component: Tools/TransformAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: halla
Priority: NOR Keywords: regression, release_blocker
Version: 4.0   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In:

Description Ahab Greybeard 2018-03-23 12:20:25 UTC
This applies to the Krita 4.0.0 appimage.

If a Transform Mask is added to an image in a paint layer and then a Warp, Cage or Liquify transform is applied, the resulting image is not exported for .png, .gif and .tga outputs. Any other image layers are correctly exported.

The mitigation for this is to copy the paint layer (and its masks) and then flatten the copy, then export.

This might be related to the fact that these transforms are only updated every three seconds as noted in the documentation:
https://docs.krita.org/Transformation_Masks
Comment 1 Halla Rempt 2018-04-02 13:42:04 UTC
This is a regression caused by the saving-in-the-background feature.
Comment 2 Dmitry Kazakov 2018-04-03 16:52:08 UTC
Git commit dd14f02b8acb99a316c4f15c5195d0204a0fc7a4 by Dmitry Kazakov.
Committed on 03/04/2018 at 16:51.
Pushed by dkazakov into branch 'master'.

[Krita 4.1 only] Optimize cloning of the image while saving

We shouldn't regenerate the projection of the image, when cloning
we clone all the projections as well.

WARNING: this patch is extremely dangerous! If you happen to see some
         loss while saving, please first try to revert this patch!

M  +1    -1    libs/image/kis_transform_mask.cpp
M  +20   -13   libs/ui/KisDocument.cpp
M  +1    -1    libs/ui/KisDocument.h

https://commits.kde.org/krita/dd14f02b8acb99a316c4f15c5195d0204a0fc7a4
Comment 3 Dmitry Kazakov 2018-04-03 16:52:57 UTC
For 4.0.1 the fix in this commit:
https://cgit.kde.org/krita.git/commit/?id=588ae9bbbfeec91180a64f1fa637ed6dc5e1ecfb
Comment 4 Dmitry Kazakov 2018-04-07 13:44:50 UTC
Git commit b4dc82de116bdbe05a90e7e65071005fabb8e11b by Dmitry Kazakov.
Committed on 07/04/2018 at 13:28.
Pushed by dkazakov into branch 'krita/4.0'.

Fix saving of Transform Mask into rendered formats

We should ensure all the time-based nodes finished updating before
the image gets saved.

M  +2    -2    libs/global/kis_thread_safe_signal_compressor.cpp
M  +11   -1    libs/ui/KisDocument.cpp
M  +1    -10   plugins/tools/tool_transform2/kis_tool_transform.cc

https://commits.kde.org/krita/b4dc82de116bdbe05a90e7e65071005fabb8e11b