Bug 396873

Summary: Layer Style: Blend Mode resets after closing Krita or exporting with Comics Manager
Product: [Applications] krita Reporter: lucyread
Component: layer stylesAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: halla
Priority: NOR    
Version: 4.1.1   
Target Milestone: ---   
Platform: Other   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Blend Mode after closing and opening Krita

Description lucyread 2018-07-26 11:34:28 UTC
When closing Krita or exporting comics via the Comics Manager, the Layer Style>Blend Mode resets to 'normal'. When saving the settings as presets, they Blend Mode also resets.
Comment 1 Halla Rempt 2018-07-26 11:36:41 UTC
Easy enough to reproduce:

* create a new document
* add a vector layer
* set the color overlay to erase
* save
* reload
Comment 2 lucyread 2018-07-26 11:38:14 UTC
Created attachment 114143 [details]
Blend Mode after closing and opening Krita
Comment 3 Dmitry Kazakov 2018-09-21 10:35:48 UTC
Okay, the problem is that Photoshop Layer Styles do not support 'Erase' blending mode, therefore, when exporting it is reset to Normal...

We have two options for that:

1) Disable all composite ops not supported by PS
2) Save such styles into our own formal (but causing compatibility difficulties)
Comment 4 Halla Rempt 2018-09-21 13:42:40 UTC
I think we need to do 1) here -- layer styles are supposed to be a direct feature copy
Comment 5 Dmitry Kazakov 2019-10-03 15:47:04 UTC
The bug is fixed in this merge request:
https://invent.kde.org/kde/krita/merge_requests/160
Comment 6 Dmitry Kazakov 2019-10-10 09:17:24 UTC
Git commit 62ee4b3af9b60c1cf2ce66d78e34691d056ba062 by Dmitry Kazakov.
Committed on 02/10/2019 at 19:41.
Pushed by dkazakov into branch 'master'.

Limit available layer style blending modes to supported by ASL ones

ASL format supports less blending modes than Krita does, so we should
limit available ones in the GUI.

M  +48   -0    libs/pigment/KoCompositeOpRegistry.cpp
M  +1    -0    libs/pigment/KoCompositeOpRegistry.h
M  +15   -0    libs/ui/kis_composite_ops_model.cc
M  +8    -2    libs/ui/kis_composite_ops_model.h
M  +2    -2    libs/ui/layerstyles/WdgColorOverlay.ui
M  +2    -2    libs/ui/layerstyles/WdgGradientOverlay.ui
M  +8    -8    libs/ui/layerstyles/WdgPatternOverlay.ui
M  +2    -2    libs/ui/layerstyles/WdgSatin.ui
M  +2    -2    libs/ui/layerstyles/WdgStroke.ui
M  +8    -8    libs/ui/layerstyles/wdgBevelAndEmboss.ui
M  +7    -7    libs/ui/layerstyles/wdgInnerGlow.ui
M  +2    -2    libs/ui/layerstyles/wdgdropshadow.ui
M  +15   -6    libs/ui/widgets/kis_cmb_composite.cc
M  +10   -3    libs/ui/widgets/kis_cmb_composite.h

https://invent.kde.org/kde/krita/commit/62ee4b3af9b60c1cf2ce66d78e34691d056ba062