From: cristy Date: Tue, 29 May 2012 11:22:12 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~5518 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=13c1008e7a7e4c61177c577567ca1e9900eb552b;p=imagemagick --- diff --git a/MagickCore/cache.c b/MagickCore/cache.c index 8f34945cd..669e7d66c 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -4961,24 +4961,25 @@ MagickPrivate VirtualPixelMethod SetPixelCacheVirtualMethod(Image *image, assert(cache_info->signature == MagickSignature); method=cache_info->virtual_pixel_method; cache_info->virtual_pixel_method=virtual_pixel_method; - switch (virtual_pixel_method) - { - case BackgroundVirtualPixelMethod: - { - if ((image->background_color.matte != MagickFalse) && - (image->matte == MagickFalse)) - (void) SetCacheAlphaChannel(image,OpaqueAlpha,exception); - break; - } - case TransparentVirtualPixelMethod: + if ((image->columns != 0) && (image->rows != 0)) + switch (virtual_pixel_method) { - if (image->matte == MagickFalse) - (void) SetCacheAlphaChannel(image,OpaqueAlpha,exception); - break; + case BackgroundVirtualPixelMethod: + { + if ((image->background_color.matte != MagickFalse) && + (image->matte == MagickFalse)) + (void) SetCacheAlphaChannel(image,OpaqueAlpha,exception); + break; + } + case TransparentVirtualPixelMethod: + { + if (image->matte == MagickFalse) + (void) SetCacheAlphaChannel(image,OpaqueAlpha,exception); + break; + } + default: + break; } - default: - break; - } return(method); } diff --git a/MagickCore/image.c b/MagickCore/image.c index 80abcb8c0..da3db977e 100644 --- a/MagickCore/image.c +++ b/MagickCore/image.c @@ -283,6 +283,8 @@ MagickExport Image *AcquireImage(const ImageInfo *image_info, image->client_data=image_info->client_data; if (image_info->cache != (void *) NULL) ClonePixelCacheMethods(image->cache,image_info->cache); + (void) SetImageVirtualPixelMethod(image,image_info->virtual_pixel_method, + exception); (void) SyncImageSettings(image_info,image,exception); option=GetImageOption(image_info,"delay"); if (option != (const char *) NULL)