Bug 437306

Summary: Transform Mask + Clone Layer projection disappearing randomly
Product: [Applications] krita Reporter: Tiar <tamtamy.tymona>
Component: Layer StackAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Mint (Ubuntu based)   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Test image

Description Tiar 2021-05-18 13:36:41 UTC
Created attachment 138536 [details]
Test image

SUMMARY
Using Clone Layers with transform masks is really difficult now because the projection disappears randomly due to actions on other layers.


STEPS TO REPRODUCE
1. Open the test file included. (Or create your own: must have several clone layers with transform mask that both move and scale down the content; the moving should go outside of the bounds of the original layer, just to be sure to get the buggy result).
2. Go to the "+ Array of Paint Layer 22" group layer (it was made via Layer -> Split -> Clones Array, making sure the offsets are 0 because of bug 436892).
3. Go through the clone layers that have transform masks; turn off and on the visibility of every of the clone layer.

OBSERVED RESULT
The projections of the content of those clone layers appear and disappear; often the content of the layer you're switching doesn't appear when you ask it to, and the other clone layers disappear or appear or disappear partially.

EXPECTED RESULT
The effect is the same as if you were switching off and on the visibility of a paint layer.

NOTE
I noticed that if you switch the visibility of the transform mask, the clone layer appears correctly (it fixes the projection).
I noticed that it's not only a visual issue: if you flatten the layer, the result will be/might be incorrect.
Btw, cropping the image (using the Crop Tool) also fixes the projection for all clone layers.
It might be related to or caused by bug 436642.

SOFTWARE/OS VERSIONS
Krita

 Version: 5.0.0-prealpha (git 6f87fb32ab)
 Languages: pl, pl_PL, pl
 Hidpi: true

Qt

  Version (compiled): 5.12.8
  Version (loaded): 5.12.8

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 5.4.0-58-generic
  Pretty Productname: Linux Mint 20.1
  Product Type: linuxmint
  Product Version: 20.1
  Desktop: X-Cinnamon

OpenGL Info
 
  Vendor:  "Intel" 
  Renderer:  "Mesa Intel(R) Iris(R) Plus Graphics (ICL GT2)" 
  Version:  "4.0 (Compatibility Profile) Mesa 20.2.6" 
  Shading language:  "4.60" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:    QSurfaceFormat(version 4.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
     Version: 4.0
     Supports deprecated functions true 
     is OpenGL ES: false
Comment 1 Tiar 2021-05-19 00:41:48 UTC
Might be related to bug 418855 (though I don't think my system was so loaded during testing).
Comment 2 Dmitry Kazakov 2021-05-20 11:10:08 UTC
Hi, Tiar!

Could you please check if my latest commit fixes the issue? I cannot reproduce that anymore: 348d57b23bffaca39c51e0b558460158c5e745c1