From: cristy Date: Wed, 24 Aug 2011 17:31:30 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~7153 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a917d6c8b1695012e26389d2ec303267676815f;p=imagemagick --- diff --git a/MagickCore/magick-type.h b/MagickCore/magick-type.h index 20e73689a..797a410fd 100644 --- a/MagickCore/magick-type.h +++ b/MagickCore/magick-type.h @@ -148,7 +148,7 @@ typedef enum AlphaChannel = 0x0008, OpacityChannel = 0x0008, BlackChannel = 0x0010, - IndexChannel = 0x0010, + IndexChannel = 0x0020, CompositeChannels = 0x002F, AllChannels = ~0L, /* @@ -158,7 +158,7 @@ typedef enum RGBChannels = 0x0080, /* set alpha from grayscale mask in RGB */ GrayChannels = 0x0080, SyncChannels = 0x0100, /* channels should be modified equally */ - DefaultChannels = ((AllChannels | SyncChannels) &~ (AlphaChannel || IndexChannel)) + DefaultChannels = ((AllChannels | SyncChannels) &~ AlphaChannel) } ChannelType; typedef enum diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c index b5c226256..4f1a5f2e6 100644 --- a/MagickCore/pixel.c +++ b/MagickCore/pixel.c @@ -3607,7 +3607,6 @@ MagickExport void InitializePixelChannelMap(Image *image) image->number_channels+=image->number_meta_channels; for ( ; i < (ssize_t) image->number_channels; i++) SetPixelChannelMapTraits(image,(PixelChannel) i,CopyPixelTrait); - SetPixelChannelMap(image,image->channel_mask); } /* @@ -4914,17 +4913,18 @@ MagickExport MagickBooleanType IsFuzzyEquivalencePixelPacket(const Image *image, */ MagickExport void SetPixelChannelMap(Image *image,const ChannelType mask) { -#define GetChannelBit(alpha,i) (((size_t) (alpha) >> (size_t) (i)) & 0x01) +#define GetChannelBit(mask,bit) (((size_t) (mask) >> (size_t) (bit)) & 0x01) register ssize_t i; image->sync=mask == DefaultChannels ? MagickTrue : MagickFalse; for (i=0; i < (ssize_t) GetPixelChannels(image); i++) - SetPixelChannelMapTraits(image,(PixelChannel) i,GetChannelBit(mask,i) ? + SetPixelChannelMapTraits(image,(PixelChannel) i,GetChannelBit(mask,i) != 0 ? UpdatePixelTrait : CopyPixelTrait); for ( ; i < MaxPixelChannels; i++) SetPixelChannelMapTraits(image,(PixelChannel) i,UndefinedPixelTrait); + SetPixelChannelMapTraits(image,IndexPixelChannel,CopyPixelTrait); } /*