Bug 354376 - Layer styles are not visible on layers with inherit alpha enabled
Summary: Layer styles are not visible on layers with inherit alpha enabled
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: layer styles (show other bugs)
Version: 2.9.8
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: regression
: 393757 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-10-26 04:39 UTC by Jyzee
Modified: 2018-06-26 15:10 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jyzee 2015-10-26 04:39:21 UTC
When you enable inherit alpha on a layer, layer effects do not display anymore on the visible parts of that layer.

Reproducible: Always

Steps to Reproduce:
1. Create a group layer.
2. Add a layer in the group and paint something on it.
3. Add another layer on top of the previous one in the group and paint something on it.
4. Add a layer style like inner shadow on that layer.
4. Then enable inherit alpha.

Actual Results:  
Layer styles do not display.

Expected Results:  
Layer styles are visible.

This bug exists since commit d3383be07fe3745a1462ff29c8c61bbf87e68eed.
Comment 1 Halla Rempt 2016-05-25 13:31:14 UTC
commit d3383be07fe3745a1462ff29c8c61bbf87e68eed
Author: Dmitry Kazakov <dimula73@gmail.com>
Date:   Tue Sep 29 13:55:02 2015 +0300

    Implemented projections for layer styles
    
    Now every layer style has it's own projection (or multiple projections),
    each with its own blending mode. The projections are free'd when the
    layer style filter is disabled.
    
    Fixes T217
    
    Conflicts:
        krita/image/layerstyles/kis_ls_drop_shadow_filter.cpp
        krita/image/layerstyles/kis_ls_utils.h
Comment 2 Halla Rempt 2018-05-01 12:19:55 UTC
Add regression keyword and assign.
Comment 3 Halla Rempt 2018-05-03 10:57:25 UTC
*** Bug 393757 has been marked as a duplicate of this bug. ***
Comment 4 Dmitry Kazakov 2018-06-08 08:56:45 UTC
Git commit d183945d306b12b6dbb3ea2dd94fb12b88532e24 by Dmitry Kazakov.
Committed on 08/06/2018 at 08:48.
Pushed by dkazakov into branch 'master'.

Fix painting layer styles in Inherit Alpha mode

The layer style projections (KisMultipleProjection) should be painted
into the final stack using the blending mode selected by the user.

M  +2    -0    libs/image/kis_cached_paint_device.h
M  +32   -25   libs/image/kis_fill_painter.cc
M  +3    -7    libs/image/kis_fill_painter.h
M  +1    -1    libs/image/layerstyles/kis_layer_style_filter_projection_plane.cpp
M  +13   -14   libs/image/layerstyles/kis_ls_bevel_emboss_filter.cpp
M  +17   -27   libs/image/layerstyles/kis_ls_overlay_filter.cpp
M  +2    -0    libs/image/layerstyles/kis_ls_overlay_filter.h
M  +6    -8    libs/image/layerstyles/kis_ls_stroke_filter.cpp
M  +4    -17   libs/image/layerstyles/kis_ls_utils.cpp
M  +16   -2    libs/image/layerstyles/kis_multiple_projection.cpp
M  +3    -2    libs/image/layerstyles/kis_multiple_projection.h
A  +-    --    libs/image/tests/data/fill_painter/patterns_fill__custom_origin.png
A  +-    --    libs/image/tests/data/fill_painter/patterns_fill__null_origin.png
M  +55   -0    libs/image/tests/kis_fill_painter_test.cpp
M  +2    -0    libs/image/tests/kis_fill_painter_test.h
M  +1    -1    libs/image/tests/kis_layer_styles_test.cpp

https://commits.kde.org/krita/d183945d306b12b6dbb3ea2dd94fb12b88532e24
Comment 5 brusheco 2018-06-13 18:05:11 UTC
Thia was not included in the latest bug fix release 4.0.4. Mistake?
Comment 6 Andrey 2018-06-26 15:10:05 UTC
Git commit 3bf0a4f511249b784bb4f8d6de0a0bb6acce970d by Andrey Kamakin, on behalf of Dmitry Kazakov.
Committed on 26/06/2018 at 14:18.
Pushed by akamakin into branch 'akamakin/T8628-multithreading-optimization'.

Fix painting layer styles in Inherit Alpha mode

The layer style projections (KisMultipleProjection) should be painted
into the final stack using the blending mode selected by the user.

M  +2    -0    libs/image/kis_cached_paint_device.h
M  +32   -25   libs/image/kis_fill_painter.cc
M  +3    -7    libs/image/kis_fill_painter.h
M  +1    -1    libs/image/layerstyles/kis_layer_style_filter_projection_plane.cpp
M  +13   -14   libs/image/layerstyles/kis_ls_bevel_emboss_filter.cpp
M  +17   -27   libs/image/layerstyles/kis_ls_overlay_filter.cpp
M  +2    -0    libs/image/layerstyles/kis_ls_overlay_filter.h
M  +6    -8    libs/image/layerstyles/kis_ls_stroke_filter.cpp
M  +4    -17   libs/image/layerstyles/kis_ls_utils.cpp
M  +16   -2    libs/image/layerstyles/kis_multiple_projection.cpp
M  +3    -2    libs/image/layerstyles/kis_multiple_projection.h
A  +-    --    libs/image/tests/data/fill_painter/patterns_fill__custom_origin.png
A  +-    --    libs/image/tests/data/fill_painter/patterns_fill__null_origin.png
M  +55   -0    libs/image/tests/kis_fill_painter_test.cpp
M  +2    -0    libs/image/tests/kis_fill_painter_test.h
M  +1    -1    libs/image/tests/kis_layer_styles_test.cpp

https://commits.kde.org/krita/3bf0a4f511249b784bb4f8d6de0a0bb6acce970d