Bug 349484 - Multiple masks not refreshed on canvas - (Possibly related to Bug 345612)
Summary: Multiple masks not refreshed on canvas - (Possibly related to Bug 345612)
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Layer Stack (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-22 02:06 UTC by mvowada
Modified: 2016-04-22 09:50 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Video example. (357.84 KB, video/mp4)
2015-06-22 02:07 UTC, mvowada
Details
Krita 3.0 Alpha - Trasparency bug video example (519.46 KB, video/mp4)
2016-03-26 13:29 UTC, mvowada
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mvowada 2015-06-22 02:06:08 UTC
(Possibly related to Bug 345612)

When you enable / disable different masks and their parent layers in a consecutively fashion, the masked (transparent) areas on the canvas end up to not being refreshed correctly (please, see the video below).
Krita: 2.9.5 (git a9c99c9) on Ubuntu 14.04 Unity

Reproducible: Always

Steps to Reproduce:
With 2 layers, say "A" (with mask) and "B" (with mask):

1. disable the mask of "A"
2. hide "B"
3. hide "A"
4. show "B"
5. enable the mask of "A"
6. show "A"
7. hide "B"

Actual Results:  
Suddenly, the mask of layer "A" is not being refreshed on the canvas.

Expected Results:  
The mask of layer "A" should be refreshed on the canvas.
Comment 1 mvowada 2015-06-22 02:07:03 UTC
Created attachment 93287 [details]
Video example.
Comment 2 Halla Rempt 2016-03-25 13:22:52 UTC
Hi Mvowada,

I cannot reproduce this issue with Krita 3.0 pre-alpha anymore.
Comment 3 mvowada 2016-03-26 13:29:10 UTC
Created attachment 98100 [details]
Krita 3.0 Alpha - Trasparency bug video example

Hi Boudewijn,
Unfortunately I can still reproduce the bug here (video in attachment).
I've checked with Krita 3.0 Pre-alpha 3 AppImage.
Comment 4 Marcus Kjeldsen 2016-04-10 10:07:21 UTC
I did actually get a one result very similar to yours at one brief moment, but I have been unable to reproduce it after that :(

Krita 3.0 Alpha1 Win 10
Comment 5 Dmitry Kazakov 2016-04-22 09:50:04 UTC
Git commit 8a9660abf3e52e7a8553d0fb44a50c3639253c9d by Dmitry Kazakov.
Committed on 22/04/2016 at 09:48.
Pushed by dkazakov into branch 'master'.

Fix masks update problem

1) Create a paint layer (layer1) filled with color
2) Create a paint layer (layer2) with anything
3) Add a transparency mask to layer1 (tmask1)
4) Make tmask1 invisible

Layer1's projection is now filled with non-cropped color

5) Make layer1 invisible
6) Make layer2 invisible

7) Make tmask1 visible
Layer1's projection is still filled with non-cropped
color, because it is invisible and its updates are locked.

8) Make layer1 visible
The *cropped* area is rendered on screen, layer1'a
projection is still wrong!

9) Make layer2 visible
Wrong layer1's projection is now painted on screen -> BUG

This patch fixes the problem by re-rendering the
layer1's projection at step 8.
Related: bug 345612
Ref T2085

M  +15   -0    libs/image/kis_layer.cc

http://commits.kde.org/krita/8a9660abf3e52e7a8553d0fb44a50c3639253c9d