Bug 369093 - Unexpected results when toggling visibility of a colorize mask and its parent layer
Summary: Unexpected results when toggling visibility of a colorize mask and its parent...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Filter Layers (show other bugs)
Version: git master (please specify the git hash!)
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-20 02:38 UTC by Nicholas LaPointe
Modified: 2016-09-22 09:48 UTC (History)
0 users

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 Nicholas LaPointe 2016-09-20 02:38:07 UTC
Reproducible: Always

Steps to Reproduce:
1. Create a document with two layers.
2. Draw a circle in the center on the top layer.
3. Using a colorize mask, fill the inside of the circle with one color and the outside of the circle with another.
4. Make the layer invisible. The mask still fills the document, and is transparent where the layer is. If you draw on the lower layer at this point, the mask will also become transparent in the areas where you have drawn.
5. Make the mask invisible, then turn it back on. The mask is now invisible.
6. Turn the layer back on. The mask is now clipped to the layer boundaries.


Expected Results:  
At step 4, I expected the mask to be invisible, just as it is in step 5.
At step 6, I expected the mask to look as it did in step 3.
Comment 1 Dmitry Kazakov 2016-09-22 09:48:55 UTC
Git commit ad689f117d5335b52494d42105ec001071029e32 by Dmitry Kazakov.
Committed on 22/09/2016 at 09:06.
Pushed by dkazakov into branch 'kazakov/preset-chooser-fixes'.

Fixed an update glitch in the Colorize Mask

Now I had to introduce a special property for the masks, which
reports the additional area where the masks draws. This area
cannot be computed by mean of change/needRect functionality
since it doesn't depend on the dirty rect of the layer.
Fixes T3812

M  +20   -2    libs/image/kis_layer.cc
M  +5    -0    libs/image/kis_mask.cc
M  +13   -0    libs/image/kis_mask.h
M  +5    -0    libs/image/lazybrush/kis_colorize_mask.cpp
M  +6    -0    libs/image/lazybrush/kis_colorize_mask.h

http://commits.kde.org/krita/ad689f117d5335b52494d42105ec001071029e32