]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 13 Mar 2010 16:11:14 +0000 (16:11 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 13 Mar 2010 16:11:14 +0000 (16:11 +0000)
magick/cache.c

index e39dedbf9f1a126d5d577a63a1d2311cfd2011a9..4e6fe165a294c9fecc903ccd1259d686b57886ad 100644 (file)
@@ -3287,7 +3287,7 @@ MagickExport const PixelPacket *GetVirtualPixelsFromNexus(const Image *image,
   if (image->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
   cache_info=(CacheInfo *) image->cache;
-  if (cache_info->type == UndefinedCache)
+  if ((cache_info->type == UndefinedCache) || (columns == 0) || (rows == 0))
     return((const PixelPacket *) NULL);
   region.x=x;
   region.y=y;
@@ -3311,6 +3311,7 @@ MagickExport const PixelPacket *GetVirtualPixelsFromNexus(const Image *image,
         /*
           Pixel request is inside cache extents.
         */
+puts("a");
         if (IsNexusInCore(cache_info,nexus_info) != MagickFalse)
           return(pixels);
         status=ReadPixelCachePixels(cache_info,nexus_info,exception);
@@ -5013,10 +5014,7 @@ static PixelPacket *SetPixelCacheNexusPixels(const Image *image,
   assert(cache_info->signature == MagickSignature);
   if (cache_info->type == UndefinedCache)
     return((PixelPacket *) NULL);
-  nexus_info->region.width=region->width == 0UL ? 1UL : region->width;
-  nexus_info->region.height=region->height == 0UL ? 1UL : region->height;
-  nexus_info->region.x=region->x;
-  nexus_info->region.y=region->y;
+  nexus_info->region=(*region);
   if ((cache_info->type != DiskCache) && (image->clip_mask == (Image *) NULL) &&
       (image->mask == (Image *) NULL))
     {