]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Fri, 8 Oct 2010 23:46:21 +0000 (23:46 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Fri, 8 Oct 2010 23:46:21 +0000 (23:46 +0000)
ChangeLog
coders/psd.c

index e8a2535eb723c0d9db4aeebe6d7178ec9a369cca..38797dafd7912747f43347bcfe5fe6e65087374f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,7 +13,7 @@
 2010-10-05  6.6.4-10 Cristy  <quetzlzacatenango@image...>
   * Add support for "pattern:vertical2" and "pattern:horizontal2".
   * Add support for "pattern:vertical3" and "pattern:horizontal3".
-  * Properly handle PSD layers with negative heights.
+  * Properly handle PSD layers with negative offsets.
 
 2010-10-03  6.6.4-9 Cristy  <quetzlzacatenango@image...>
   * Fix memory assertion with --enable-embeddable (reference
index f91cafbc70d95598519ddb3c129279036471a26a..496992ba5b26b7893c31e288e53a99540980a0b5 100644 (file)
@@ -995,15 +995,19 @@ static Image *ReadPSDImage(const ImageInfo *image_info,ExceptionInfo *exception)
             sizeof(*layer_info));
           for (i=0; i < number_layers; i++)
           {
+            int
+              x,
+              y;
+
             if (image->debug != MagickFalse)
               (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                 "  reading layer #%.20g",(double) i+1);
             layer_info[i].page.y=(int) ReadBlobMSBLong(image);
             layer_info[i].page.x=(int) ReadBlobMSBLong(image);
-            layer_info[i].page.height=(ssize_t)
-              (ReadBlobMSBLong(image)-layer_info[i].page.y);
-            layer_info[i].page.width=(ssize_t)
-              (ReadBlobMSBLong(image)-layer_info[i].page.x);
+            y=(int) ReadBlobMSBLong(image);
+            x=(int) ReadBlobMSBLong(image);
+            layer_info[i].page.width=(ssize_t) (x-layer_info[i].page.x);
+            layer_info[i].page.height=(ssize_t) (y-layer_info[i].page.y);
             layer_info[i].channels=ReadBlobMSBShort(image);
             if (layer_info[i].channels > MaxPSDChannels)
               ThrowReaderException(CorruptImageError,"MaximumChannelsExceeded");