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.
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