]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 5 May 2010 19:38:32 +0000 (19:38 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 5 May 2010 19:38:32 +0000 (19:38 +0000)
coders/png.c

index 1ff254fcf17e5eed8c840af8f0ae447cc4c94de0..00a828ca4ddc34220cee7786683575437a53e391 100644 (file)
@@ -2524,6 +2524,9 @@ static Image *ReadOnePNGImage(MngInfo *mng_info,
   else /* image->storage_class != DirectClass */
     for (pass=0; pass < num_passes; pass++)
     {
+      IndexPacket
+        index;
+
       Quantum
         *quantum_scanline;
 
@@ -2684,7 +2687,13 @@ static Image *ReadOnePNGImage(MngInfo *mng_info,
         */
         r=quantum_scanline;
         for (x=0; x < (long) image->columns; x++)
-          indices[x]=(*r++);
+        {
+          index=(IndexPacket) (*r++);
+          indices[x]=index;
+          q->red=image->colormap[index].red;
+          q->green=image->colormap[index].green;
+          q->blue=image->colormap[index].blue;
+        }
         if (SyncAuthenticPixels(image,exception) == MagickFalse)
           break;
         if ((image->previous == (Image *) NULL) && (num_passes == 1))
@@ -2704,8 +2713,6 @@ static Image *ReadOnePNGImage(MngInfo *mng_info,
     }
   if (quantum_info != (QuantumInfo *) NULL)
     quantum_info=DestroyQuantumInfo(quantum_info);
-  if (image->storage_class == PseudoClass)
-    (void) SyncImage(image);
   png_read_end(ping,ping_info);
 
   if (image_info->number_scenes != 0 && mng_info->scenes_found-1 <