]> granicus.if.org Git - imagemagick/commitdiff
https://github.com/ImageMagick/ImageMagick/issues/1305
authorCristy <urban-warrior@imagemagick.org>
Wed, 19 Sep 2018 00:31:47 +0000 (20:31 -0400)
committerCristy <urban-warrior@imagemagick.org>
Wed, 19 Sep 2018 00:32:05 +0000 (20:32 -0400)
coders/png.c

index 381ee8aedf7c623fb925b9ca684d63f0937d1fe0..53be12cf9a053cee1cdcbc27dde141b8edacd93a 100644 (file)
@@ -8906,6 +8906,9 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info,
 
   if (mng_info->write_png_colortype < 7)
   {
+    MagickBooleanType
+      taint;
+
   /* BUILD_PALETTE
    *
    * Normally we run this just once, but in the case of writing PNG8
@@ -8917,6 +8920,9 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info,
    * transparent and opaque instances.
    */
 
+  taint=image->taint;
+  (void) SetImageDepth(image,image->depth,exception);
+  image->taint=taint;
   tried_332 = MagickFalse;
   tried_333 = MagickFalse;
   tried_444 = MagickFalse;
@@ -9023,7 +9029,6 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info,
      number_semitransparent = 0;
      number_transparent = 0;
 
-     (void) SetImageDepth(image,image->depth,exception);
      for (y=0; y < (ssize_t) image->rows; y++)
      {
        r=GetVirtualPixels(image,0,y,image->columns,1,exception);