Bug 273918 - The channel docker is broken
Summary: The channel docker is broken
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Dockers (show other bugs)
Version: git master (please specify the git hash!)
Platform: Unlisted Binaries Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-23 01:14 UTC by pentalis
Modified: 2012-10-31 11:35 UTC (History)
2 users (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 pentalis 2011-05-23 01:14:48 UTC
Tested with a CMYK image:
---Open the channel docker.
---Deselect the magenta channel.
---Everything will look more magenta instead of less, that's the exact opposite of what it should do.

Happens with all channels, fix ASAP
Comment 1 animtim 2011-05-27 20:38:18 UTC
Fun,  I've just noticed something about the buggy enabled/disabled channels: right after converting a rgb file to cmyk, disabling channels works right.. but after save/reload it the bug is back.
Comment 2 Halla Rempt 2012-02-19 14:33:09 UTC
I don't think it's the recomposition that's wrong, there must be some place still where the order of channels isn't initialized correctly.
Comment 3 Halla Rempt 2012-02-29 12:49:13 UTC
Might be related to 254784
Comment 4 Dmitry Kazakov 2012-10-27 14:14:07 UTC
Git commit b3558ce7cc17330f3f921c61fbff36d25d989073 by Dmitry Kazakov.
Committed on 27/10/2012 at 13:38.
Pushed by dkazakov into branch 'master'.

Fixed composite ops to handle destination with zero alpha properly

When alpha is zero the color channels do not matter. That is
(1,2,3,0) and (4,5,6,0) are completely the same colors. Our composite
ops knew about it but they didn't handle it properly when some channels
were disabled by the channelFlags. Now the channel is zeroed if it is
disabled and alpha mask of the pixel flipped to non-zero value.

M  +18   -6    libs/pigment/compositeops/KoCompositeOpAlphaBase.h
M  +5    -0    libs/pigment/compositeops/KoCompositeOpBase.h
M  +56   -0    libs/pigment/tests/KoRgbU8ColorSpaceTester.cpp
M  +1    -0    libs/pigment/tests/KoRgbU8ColorSpaceTester.h

http://commits.kde.org/calligra/b3558ce7cc17330f3f921c61fbff36d25d989073
Comment 5 Jarosław Staniek 2012-10-31 11:35:16 UTC
Git commit e98c9aa6276a9c68c291a188469bf2d3427590ef by Jaroslaw Staniek, on behalf of Dmitry Kazakov.
Committed on 27/10/2012 at 13:38.
Pushed by staniek into branch 'kexi-altertable-staniek'.

Fixed composite ops to handle destination with zero alpha properly

When alpha is zero the color channels do not matter. That is
(1,2,3,0) and (4,5,6,0) are completely the same colors. Our composite
ops knew about it but they didn't handle it properly when some channels
were disabled by the channelFlags. Now the channel is zeroed if it is
disabled and alpha mask of the pixel flipped to non-zero value.

M  +18   -6    libs/pigment/compositeops/KoCompositeOpAlphaBase.h
M  +5    -0    libs/pigment/compositeops/KoCompositeOpBase.h
M  +56   -0    libs/pigment/tests/KoRgbU8ColorSpaceTester.cpp
M  +1    -0    libs/pigment/tests/KoRgbU8ColorSpaceTester.h

http://commits.kde.org/calligra/e98c9aa6276a9c68c291a188469bf2d3427590ef