Bug 333080

Summary: Sometimes KisGroupLayer::tryObligeChild() returns false due to channelFlags set full
Product: [Applications] krita Reporter: Dmitry Kazakov <dimula73>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: halla
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Dmitry Kazakov 2014-04-04 17:17:29 UTC
It should oblige child even when channelflags are not empty but full.
Comment 1 Halla Rempt 2014-04-28 14:57:20 UTC
Hm, does this still happen? Should be easy enough to fix, right?
Comment 2 Dmitry Kazakov 2014-05-05 09:04:07 UTC
This happens when loading the document from .kra (at least). We need to ensure that the channel flags are always reset when they are set to full. Otherwise our composite ops will work not efficiently! *Really* not efficiently.
Comment 3 Dmitry Kazakov 2014-05-05 10:27:31 UTC
Git commit 60e72645ed8ef686437732a5f1efabb989ac9c89 by Dmitry Kazakov.
Committed on 05/05/2014 at 10:18.
Pushed by dkazakov into branch 'master'.

Ensure channel flags are cleared when set to all-ones

This makes checking for allChannels more effective in tryObligeChild()
and all the composite ops.

M  +16   -5    krita/image/kis_layer.cc
A  +-    --    krita/ui/tests/data/single_layer_no_channel_flags.kra
M  +24   -0    krita/ui/tests/kis_kra_loader_test.cpp
M  +1    -1    krita/ui/tests/kis_kra_loader_test.h

http://commits.kde.org/calligra/60e72645ed8ef686437732a5f1efabb989ac9c89
Comment 4 Halla Rempt 2014-05-10 09:10:18 UTC
Git commit 5635d4ed22a248906f23f49585258ed961bedc1f by Boudewijn Rempt, on behalf of Dmitry Kazakov.
Committed on 05/05/2014 at 10:18.
Pushed by rempt into branch 'calligra/2.8'.

Ensure channel flags are cleared when set to all-ones

This makes checking for allChannels more effective in tryObligeChild()
and all the composite ops.

M  +16   -5    krita/image/kis_layer.cc
A  +-    --    krita/ui/tests/data/single_layer_no_channel_flags.kra
M  +24   -0    krita/ui/tests/kis_kra_loader_test.cpp
M  +1    -1    krita/ui/tests/kis_kra_loader_test.h

http://commits.kde.org/calligra/5635d4ed22a248906f23f49585258ed961bedc1f