Bug 333080 - Sometimes KisGroupLayer::tryObligeChild() returns false due to channelFlags set full
Summary: Sometimes KisGroupLayer::tryObligeChild() returns false due to channelFlags s...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-04 17:17 UTC by Dmitry Kazakov
Modified: 2014-05-10 09:10 UTC (History)
1 user (show)

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