From: cristy Date: Sun, 25 Apr 2010 00:36:07 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~9584 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07a2031a7e48266961072270d1bfe91a161521d9;p=imagemagick --- diff --git a/magick/quantize.c b/magick/quantize.c index ee418b9d9..687bd8329 100644 --- a/magick/quantize.c +++ b/magick/quantize.c @@ -2468,17 +2468,32 @@ static MagickBooleanType DirectToColormapImage(Image *image, image_view=AcquireCacheView(image); for (y=0; y < (long) image->rows; y++) { - register const PixelPacket - *restrict p; + MagickBooleanType + proceed; + + register IndexPacket + *restrict indexes; + + register PixelPacket + *restrict q; register long x; - p=GetCacheViewVirtualPixels(image_view,0,y,image->columns,1,exception); - if (p == (const PixelPacket *) NULL) + q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,exception); + if (q == (const PixelPacket *) NULL) break; + indexes=GetCacheViewAuthenticIndexQueue(image_view); for (x=0; x < (long) image->columns; x++) - image->colormap[i++]=(*p++); + { + indexes[x]=i; + image->colormap[i++]=(*q++); + } + if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse) + break; + proceed=SetImageProgress(image,AssignImageTag,y,image->rows); + if (proceed == MagickFalse) + status=MagickFalse; } image_view=DestroyCacheView(image_view); return(status);