]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 29 May 2012 11:22:12 +0000 (11:22 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 29 May 2012 11:22:12 +0000 (11:22 +0000)
MagickCore/cache.c
MagickCore/image.c

index 8f34945cd2940e1e02a9d7ee3a6d15613df6948a..669e7d66ce3dde26b27009d82a0f67d382d3f237 100644 (file)
@@ -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);
 }
 \f
index 80abcb8c0ad6b7dcfcc9049505a4617560bb417c..da3db977e2e6f0ab823fe61ad9d5974d72f72cf4 100644 (file)
@@ -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)