]> granicus.if.org Git - imagemagick/blobdiff - coders/dib.c
(no commit message)
[imagemagick] / coders / dib.c
index afe66342f9d6326ff5aa2bd6ffbfb9578ea892db..a08279b3ee58f09b3f6bcc8bc16965033d480cfb 100644 (file)
@@ -44,8 +44,9 @@
 #include "magick/blob-private.h"
 #include "magick/cache.h"
 #include "magick/color.h"
-#include "magick/colormap-private.h"
 #include "magick/color-private.h"
+#include "magick/colormap.h"
+#include "magick/colormap-private.h"
 #include "magick/colorspace.h"
 #include "magick/draw.h"
 #include "magick/exception.h"
@@ -150,7 +151,7 @@ static inline size_t MagickMin(const size_t x,const size_t y)
 static MagickBooleanType DecodeImage(Image *image,
   const MagickBooleanType compression,unsigned char *pixels)
 {
-#if !defined(__WINDOWS__) || defined(__MINGW32__)
+#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__MINGW32__)
 #define BI_RGB  0
 #define BI_RLE8  1
 #define BI_RLE4  2
@@ -859,14 +860,12 @@ static Image *ReadDIBImage(const ImageInfo *image_info,ExceptionInfo *exception)
         Correct image orientation.
       */
       flipped_image=FlipImage(image,exception);
-      if (flipped_image == (Image *) NULL)
+      if (flipped_image != (Image *) NULL)
         {
-          image=DestroyImageList(image);
-          return((Image *) NULL);
+          DuplicateBlob(flipped_image,image);
+          image=DestroyImage(image);
+          image=flipped_image;
         }
-      DuplicateBlob(flipped_image,image);
-      image=DestroyImage(image);
-      image=flipped_image;
     }
   (void) CloseBlob(image);
   return(GetFirstImageInList(image));