]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 16 Oct 2013 01:04:28 +0000 (01:04 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 16 Oct 2013 01:04:28 +0000 (01:04 +0000)
MagickCore/colorspace.c

index e15d6da60d81486465283d6576ae998608bcd8f7..3a7a95bd63c83cb3bd26698957d6a302be72999d 100644 (file)
@@ -1046,18 +1046,25 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 MagickExport MagickBooleanType SetImageColorspace(Image *image,
   const ColorspaceType colorspace,ExceptionInfo *exception)
 {
+  ImageType
+    type;
+
+  MagickBooleanType
+    status;
+
   if (image->colorspace == colorspace)
     return(MagickTrue);
   image->colorspace=colorspace;
   image->rendering_intent=UndefinedIntent;
   image->gamma=1.000/2.200;
   (void) ResetMagickMemory(&image->chromaticity,0,sizeof(image->chromaticity));
+  type=image->type;
   if (IsGrayColorspace(colorspace) != MagickFalse)
     {
       if ((image->intensity == Rec601LuminancePixelIntensityMethod) ||
           (image->intensity == Rec709LuminancePixelIntensityMethod))
         image->gamma=1.000;
-      image->type=GrayscaleType;
+      type=GrayscaleType;
     }
   else
     if (IsRGBColorspace(colorspace) != MagickFalse)
@@ -1079,7 +1086,9 @@ MagickExport MagickBooleanType SetImageColorspace(Image *image,
       image->chromaticity.white_point.y=0.3290;
       image->chromaticity.white_point.z=0.3583;
     }
-  return(SyncImagePixelCache(image,exception));
+  status=SyncImagePixelCache(image,exception);
+  image->type=type;
+  return(status);
 }
 \f
 /*