diff --git a/coders/art.c b/coders/art.c
index 060a23b..72aec52 100644
--- a/coders/art.c
+++ b/coders/art.c
@@ -341,7 +341,7 @@
     if (count != (ssize_t) length)
       ThrowWriterException(CorruptImageError,"UnableToWriteImageData");
     count=WriteBlob(image,(size_t) (-(ssize_t) length) & 0x01,pixels);
-    if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+    if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
       break;
   }
   quantum_info=DestroyQuantumInfo(quantum_info);
diff --git a/coders/avs.c b/coders/avs.c
index db04a9e..c72650f 100644
--- a/coders/avs.c
+++ b/coders/avs.c
@@ -388,7 +388,7 @@
       if (count != (ssize_t) (q-pixels))
         break;
       if ((image->previous == (Image *) NULL) &&
-          (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse))
+          (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse))
         break;
     }
     pixels=(unsigned char *) RelinquishMagickMemory(pixels);
diff --git a/coders/bmp.c b/coders/bmp.c
index ac4f53b..ce3f5d3 100644
--- a/coders/bmp.c
+++ b/coders/bmp.c
@@ -402,7 +402,8 @@
     */
     *q++=(unsigned char) 0x00;
     *q++=(unsigned char) 0x00;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -1017,7 +1018,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1057,7 +1059,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1092,7 +1095,8 @@
           offset=(MagickOffsetType) (image->rows-y-1);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1156,7 +1160,8 @@
           offset=(MagickOffsetType) (image->rows-y-1);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1188,7 +1193,8 @@
           offset=(MagickOffsetType) (image->rows-y-1);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1245,7 +1251,8 @@
           offset=(MagickOffsetType) (image->rows-y-1);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1643,7 +1650,8 @@
             *q++=0x00;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1689,7 +1697,8 @@
             *q++=0x00;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1714,7 +1723,8 @@
             *q++=0x00;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1743,7 +1753,8 @@
             *q++=0x00;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1771,7 +1782,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/braille.c b/coders/braille.c
index 49b1993..d0d2dd8 100644
--- a/coders/braille.c
+++ b/coders/braille.c
@@ -334,7 +334,8 @@
     }
     if (!iso_11548_1)
       (void) WriteBlobByte(image,'\n');
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/cin.c b/coders/cin.c
index 94407b7..dcd5563 100644
--- a/coders/cin.c
+++ b/coders/cin.c
@@ -728,7 +728,8 @@
       break;
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1169,7 +1170,8 @@
     count=WriteBlob(image,length,pixels);
     if (count != (ssize_t) length)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/cip.c b/coders/cip.c
index 40a1582..739457c 100644
--- a/coders/cip.c
+++ b/coders/cip.c
@@ -256,7 +256,8 @@
         (void) FormatMagickString(buffer,MaxTextExtent,"%02x",~byte);
         (void) WriteBlobString(image,buffer);
       }
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/cmyk.c b/coders/cmyk.c
index da309e4..0dba51a 100644
--- a/coders/cmyk.c
+++ b/coders/cmyk.c
@@ -275,7 +275,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -371,7 +372,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1278,7 +1280,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1328,7 +1331,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/dcm.c b/coders/dcm.c
index 518a38f..fff025b 100644
--- a/coders/dcm.c
+++ b/coders/dcm.c
@@ -3742,7 +3742,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -3897,7 +3898,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/dib.c b/coders/dib.c
index 485ac05..9ae1748 100644
--- a/coders/dib.c
+++ b/coders/dib.c
@@ -1105,7 +1105,8 @@
            }
         for (x=(ssize_t) (image->columns+7)/8; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1127,7 +1128,8 @@
           *q++=(unsigned char) indexes[x];
         for ( ; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1158,7 +1160,8 @@
         }
         for (x=2L*image->columns; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1188,7 +1191,8 @@
         if (dib_info.bits_per_pixel == 24)
           for (x=3L*image->columns; x < (ssize_t) bytes_per_line; x++)
             *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/dpx.c b/coders/dpx.c
index ce374bb..971ed93 100644
--- a/coders/dpx.c
+++ b/coders/dpx.c
@@ -1107,7 +1107,8 @@
           MagickBooleanType
             proceed;
 
-          proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+          proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
           if (proceed == MagickFalse)
             status=MagickFalse;
         }
@@ -1819,7 +1820,8 @@
     count=WriteBlob(image,extent,pixels);
     if (count != (ssize_t) extent)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/fits.c b/coders/fits.c
index 75f3706..c9ce09e 100644
--- a/coders/fits.c
+++ b/coders/fits.c
@@ -455,7 +455,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -720,7 +721,8 @@
     count=WriteBlob(image,length,pixels);
     if (count != (ssize_t) length)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/fpx.c b/coders/fpx.c
index f4277de..5fda06b 100644
--- a/coders/fpx.c
+++ b/coders/fpx.c
@@ -482,7 +482,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -996,7 +997,8 @@
     fpx_status=FPX_WriteImageLine(flashpix,&fpx_info);
     if (fpx_status != FPX_OK)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/gray.c b/coders/gray.c
index 71e54b4..868d63b 100644
--- a/coders/gray.c
+++ b/coders/gray.c
@@ -243,7 +243,8 @@
         }
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -439,7 +440,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/ipl.c b/coders/ipl.c
index 6babdf6..ec18f52 100644
--- a/coders/ipl.c
+++ b/coders/ipl.c
@@ -658,7 +658,8 @@
       (void) WriteBlob(image, image->columns*image->depth/8, pixels);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/jbig.c b/coders/jbig.c
index 846d89a..1726407 100644
--- a/coders/jbig.c
+++ b/coders/jbig.c
@@ -243,7 +243,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -485,7 +486,8 @@
         *q++=byte << (8-bit);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/jp2.c b/coders/jp2.c
index 3280c69..473e5bf 100644
--- a/coders/jp2.c
+++ b/coders/jp2.c
@@ -582,7 +582,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -941,7 +942,8 @@
     for (i=0; i < (ssize_t) number_components; i++)
       (void) jas_image_writecmpt(jp2_image,(short) i,0,(unsigned int) y,
         (unsigned int) image->columns,1,pixels[i]);
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/jpeg.c b/coders/jpeg.c
index 27e11d5..1d09810 100644
--- a/coders/jpeg.c
+++ b/coders/jpeg.c
@@ -2183,7 +2183,7 @@
             p++;
           }
           (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-          if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+          if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
             break;
         }
       else
@@ -2206,7 +2206,7 @@
               p++;
             }
             (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-            if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+            if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
               break;
           }
         else
@@ -2242,7 +2242,7 @@
               p++;
             }
             (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-            if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+            if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
               break;
           }
     }
@@ -2267,7 +2267,7 @@
           p++;
         }
         (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-        if (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse)
+        if (SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
           break;
       }
     else
@@ -2296,7 +2296,8 @@
             p++;
           }
           (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -2332,7 +2333,8 @@
             p++;
           }
           (void) jpeg_write_scanlines(&jpeg_info,scanline,1);
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/matte.c b/coders/matte.c
index c7e4783..eb301c3 100644
--- a/coders/matte.c
+++ b/coders/matte.c
@@ -203,7 +203,8 @@
     }
     if (SyncAuthenticPixels(matte_image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/miff.c b/coders/miff.c
index b4d4cd7..399326e 100644
--- a/coders/miff.c
+++ b/coders/miff.c
@@ -2296,9 +2296,13 @@
           break;
         }
       }
-      if ((image->previous == (Image *) NULL) &&
-          (SetImageProgress(image,SaveImageTag,y,image->rows) == MagickFalse))
-        break;
+      if (image->previous == (Image *) NULL)
+        {
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+            image->rows);
+          if (status == MagickFalse)
+            break;
+        }
     }
     quantum_info=DestroyQuantumInfo(quantum_info);
     compress_pixels=(unsigned char *) RelinquishMagickMemory(compress_pixels);
diff --git a/coders/mono.c b/coders/mono.c
index cdef20e..71edd7f 100644
--- a/coders/mono.c
+++ b/coders/mono.c
@@ -184,7 +184,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -355,7 +356,8 @@
     }
     if (bit != 0)
       (void) WriteBlobByte(image,(unsigned char) (byte >> (8-bit)));
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/mtv.c b/coders/mtv.c
index 8b8b705..8764345 100644
--- a/coders/mtv.c
+++ b/coders/mtv.c
@@ -186,7 +186,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -387,7 +388,8 @@
       (void) WriteBlob(image,(size_t) (q-pixels),pixels);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/otb.c b/coders/otb.c
index 5102d14..ea8530a 100644
--- a/coders/otb.c
+++ b/coders/otb.c
@@ -193,7 +193,8 @@
       break;
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -373,7 +374,8 @@
       (void) WriteBlobByte(image,byte);
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/palm.c b/coders/palm.c
index 86ca8ef..4c1b04f 100644
--- a/coders/palm.c
+++ b/coders/palm.c
@@ -498,7 +498,8 @@
         }
         if (image->previous == (Image *) NULL)
           {
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
diff --git a/coders/pcd.c b/coders/pcd.c
index 664649d..ddcc5bc 100644
--- a/coders/pcd.c
+++ b/coders/pcd.c
@@ -797,7 +797,8 @@
       break;
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/pcx.c b/coders/pcx.c
index 46b0ba6..20a27a2 100644
--- a/coders/pcx.c
+++ b/coders/pcx.c
@@ -617,7 +617,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -1041,7 +1042,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1063,7 +1065,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -1116,7 +1119,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
diff --git a/coders/pdb.c b/coders/pdb.c
index 160a355..82801fb 100644
--- a/coders/pdb.c
+++ b/coders/pdb.c
@@ -451,7 +451,8 @@
         }
         if (SyncAuthenticPixels(image,exception) == MagickFalse)
           break;
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -486,7 +487,8 @@
         }
         if (SyncAuthenticPixels(image,exception) == MagickFalse)
           break;
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -515,7 +517,8 @@
         }
         if (SyncAuthenticPixels(image,exception) == MagickFalse)
           break;
-        status=SetImageProgress(image,LoadImageTag,y,image->rows);
+        status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -881,7 +884,8 @@
         buffer[literal+repeat]=0x00;
       }
     }
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/pdf.c b/coders/pdf.c
index 498d5ad..a759b38 100644
--- a/coders/pdf.c
+++ b/coders/pdf.c
@@ -1572,7 +1572,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1614,7 +1615,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1680,7 +1682,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1726,7 +1729,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1769,7 +1773,8 @@
                   *q++=(unsigned char) indexes[x];
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
@@ -1808,7 +1813,8 @@
                   Ascii85Encode(image,(unsigned char) indexes[x]);
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
diff --git a/coders/pict.c b/coders/pict.c
index 1430c1c..a527ae1 100644
--- a/coders/pict.c
+++ b/coders/pict.c
@@ -1889,7 +1889,8 @@
         packed_scanline);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -1943,7 +1944,8 @@
             packed_scanline);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/pix.c b/coders/pix.c
index 5d4be1b..2ee8bef 100644
--- a/coders/pix.c
+++ b/coders/pix.c
@@ -202,7 +202,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/png.c b/coders/png.c
index 630e644..b87ea6a 100644
--- a/coders/png.c
+++ b/coders/png.c
@@ -2506,7 +2506,8 @@
 #endif
         if ((image->previous == (Image *) NULL) && (num_passes == 1))
           {
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
@@ -2688,7 +2689,8 @@
           break;
         if ((image->previous == (Image *) NULL) && (num_passes == 1))
           {
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
diff --git a/coders/pnm.c b/coders/pnm.c
index 4d4e45f..20c7f9e 100644
--- a/coders/pnm.c
+++ b/coders/pnm.c
@@ -448,7 +448,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -502,7 +503,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -567,7 +569,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -620,7 +623,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType)
+                  row,image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -696,7 +700,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -805,7 +810,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -984,7 +990,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -1215,7 +1222,8 @@
                 MagickBooleanType
                   proceed;
 
-                proceed=SetImageProgress(image,LoadImageTag,row,image->rows);
+                proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row,
+                image->rows);
                 if (proceed == MagickFalse)
                   status=MagickFalse;
               }
@@ -1665,7 +1673,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1723,7 +1732,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1784,7 +1794,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1822,7 +1833,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1904,7 +1916,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1977,7 +1990,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -2141,7 +2155,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -2176,7 +2191,8 @@
           (void) WriteBlob(image,extent,pixels);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/ps.c b/coders/ps.c
index 0594328..230c6b6 100644
--- a/coders/ps.c
+++ b/coders/ps.c
@@ -1748,7 +1748,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1817,7 +1818,8 @@
                 };
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1889,7 +1891,8 @@
                   }
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
@@ -1939,7 +1942,8 @@
                 }
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
@@ -2025,7 +2029,8 @@
                   MagickMin(length,0xff),q);
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
@@ -2064,7 +2069,8 @@
                 }
                 if (image->previous == (Image *) NULL)
                   {
-                    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                     if (status == MagickFalse)
                       break;
                   }
diff --git a/coders/ps2.c b/coders/ps2.c
index 958f7a2..f41c2bf 100644
--- a/coders/ps2.c
+++ b/coders/ps2.c
@@ -790,7 +790,7 @@
                 *q++=ScaleQuantumToChar(PixelIntensityToQuantum(p));
                 p++;
               }
-              progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+              progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
               if (progress == MagickFalse)
                 break;
             }
@@ -825,7 +825,7 @@
                   ScaleQuantumToChar(PixelIntensityToQuantum(p)));
                 p++;
               }
-              progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+              progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
               if (progress == MagickFalse)
                 break;
             }
@@ -906,7 +906,7 @@
                       }
                   p++;
                 }
-                progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+                progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
                 if (progress == MagickFalse)
                   break;
               }
@@ -964,7 +964,7 @@
                       }
                   p++;
                 }
-                progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+                progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
                 if (progress == MagickFalse)
                   break;
               }
@@ -1025,7 +1025,7 @@
                 indexes=GetVirtualIndexQueue(image);
                 for (x=0; x < (ssize_t) image->columns; x++)
                   *q++=(unsigned char) indexes[x];
-                progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+                progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
                 if (progress == MagickFalse)
                   break;
               }
@@ -1057,7 +1057,7 @@
                 indexes=GetVirtualIndexQueue(image);
                 for (x=0; x < (ssize_t) image->columns; x++)
                   Ascii85Encode(image,(unsigned char) indexes[x]);
-                progress=SetImageProgress(image,SaveImageTag,y,image->rows);
+                progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,image->rows);
                 if (progress == MagickFalse)
                   break;
               }
diff --git a/coders/ps3.c b/coders/ps3.c
index 1ee28de..73eadc4 100644
--- a/coders/ps3.c
+++ b/coders/ps3.c
@@ -286,7 +286,8 @@
       }
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -363,7 +364,8 @@
           p++;
         }
       }
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -413,7 +415,8 @@
       *q++=(unsigned char) indexes[x];
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/raw.c b/coders/raw.c
index 9fa8034..0a6ca71 100644
--- a/coders/raw.c
+++ b/coders/raw.c
@@ -241,7 +241,8 @@
         }
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -585,7 +586,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/rgb.c b/coders/rgb.c
index 956fd3a..842881c 100644
--- a/coders/rgb.c
+++ b/coders/rgb.c
@@ -309,7 +309,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -381,7 +382,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -922,7 +924,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -953,7 +956,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/rla.c b/coders/rla.c
index 9a3fdb3..a1a69dc 100644
--- a/coders/rla.c
+++ b/coders/rla.c
@@ -376,7 +376,8 @@
         while (runlength > 0);
       }
     }
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/rle.c b/coders/rle.c
index 14aabdc..4b97a68 100644
--- a/coders/rle.c
+++ b/coders/rle.c
@@ -452,7 +452,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -505,7 +506,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -534,7 +536,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
diff --git a/coders/sct.c b/coders/sct.c
index 4d74831..2b7f0f6 100644
--- a/coders/sct.c
+++ b/coders/sct.c
@@ -273,7 +273,8 @@
       if ((image->columns % 2) != 0)
         (void) ReadBlobByte(image);  /* pad */
     }
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/sgi.c b/coders/sgi.c
index 2494f1b..2cf4d4b 100644
--- a/coders/sgi.c
+++ b/coders/sgi.c
@@ -572,7 +572,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -600,7 +601,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -637,7 +639,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -661,7 +664,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -1006,7 +1010,8 @@
         }
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/sun.c b/coders/sun.c
index 0cf90f0..297a985 100644
--- a/coders/sun.c
+++ b/coders/sun.c
@@ -462,7 +462,8 @@
           break;
         if (image->previous == (Image *) NULL)
           {
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
@@ -489,7 +490,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -544,7 +546,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -855,7 +858,8 @@
           (void) WriteBlob(image,(size_t) (q-pixels),pixels);
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -902,7 +906,8 @@
               (void) WriteBlobByte(image,0);  /* pad scanline */
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -940,7 +945,8 @@
               (void) WriteBlobByte(image,0);  /* pad scanline */
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
diff --git a/coders/svg.c b/coders/svg.c
index c526026..b3afaef 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -2880,7 +2880,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
diff --git a/coders/tga.c b/coders/tga.c
index bbacc4a..fa23ceb 100644
--- a/coders/tga.c
+++ b/coders/tga.c
@@ -471,7 +471,8 @@
         break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -849,7 +850,8 @@
       (void) WriteBlob(image,(size_t) (q-targa_pixels),targa_pixels);
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,SaveImageTag,y,image->rows);
+          status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
diff --git a/coders/tiff.c b/coders/tiff.c
index eabf2e2..0d4c6a7 100644
--- a/coders/tiff.c
+++ b/coders/tiff.c
@@ -1233,7 +1233,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1289,7 +1290,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1344,7 +1346,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1394,7 +1397,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1497,7 +1501,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1563,7 +1568,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -2959,7 +2965,8 @@
                 break;
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -3082,7 +3089,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -3152,7 +3160,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/tim.c b/coders/tim.c
index bed4dc9..2493387 100644
--- a/coders/tim.c
+++ b/coders/tim.c
@@ -279,7 +279,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -304,7 +305,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -335,7 +337,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -364,7 +367,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/txt.c b/coders/txt.c
index 937be74..4b823fd 100644
--- a/coders/txt.c
+++ b/coders/txt.c
@@ -699,7 +699,8 @@
         (void) WriteBlobString(image,"\n");
         p++;
       }
-      status=SetImageProgress(image,SaveImageTag,y,image->rows);
+      status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
       if (status == MagickFalse)
         break;
     }
diff --git a/coders/uil.c b/coders/uil.c
index fabe986..0025f0d 100644
--- a/coders/uil.c
+++ b/coders/uil.c
@@ -370,7 +370,8 @@
     (void) FormatMagickString(buffer,MaxTextExtent,"\"%s\n",
       (y == (ssize_t) (image->rows-1) ? ");" : ","));
     (void) WriteBlobString(image,buffer);
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/uyvy.c b/coders/uyvy.c
index 7876ea9..0ac9253 100644
--- a/coders/uyvy.c
+++ b/coders/uyvy.c
@@ -177,7 +177,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -358,7 +359,8 @@
       full=full == MagickFalse ? MagickTrue : MagickFalse;
       p++;
     }
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/vicar.c b/coders/vicar.c
index 1aacb80..02803ad 100644
--- a/coders/vicar.c
+++ b/coders/vicar.c
@@ -307,7 +307,8 @@
       quantum_type,pixels,exception);
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -484,7 +485,8 @@
     count=WriteBlob(image,length,pixels);
     if (count != (ssize_t) length)
       break;
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/viff.c b/coders/viff.c
index 2f08242..dd6e461 100644
--- a/coders/viff.c
+++ b/coders/viff.c
@@ -651,7 +651,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -671,7 +672,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -707,7 +709,8 @@
               break;
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,LoadImageTag,y,image->rows);
+                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -1104,7 +1107,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1146,7 +1150,8 @@
               *q++=(unsigned char) indexes[x];
             if (image->previous == (Image *) NULL)
               {
-                status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                 if (status == MagickFalse)
                   break;
               }
@@ -1193,7 +1198,8 @@
                 *q++=byte >> (8-bit);
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
@@ -1217,7 +1223,8 @@
               }
               if (image->previous == (Image *) NULL)
                 {
-                  status=SetImageProgress(image,SaveImageTag,y,image->rows);
+                  status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
                   if (status == MagickFalse)
                     break;
                 }
diff --git a/coders/wbmp.c b/coders/wbmp.c
index 791801e..12366de 100644
--- a/coders/wbmp.c
+++ b/coders/wbmp.c
@@ -215,7 +215,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -416,7 +417,8 @@
     }
     if (bit != 0)
       (void) WriteBlobByte(image,byte);
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/xbm.c b/coders/xbm.c
index dfb7ca7..1167495 100644
--- a/coders/xbm.c
+++ b/coders/xbm.c
@@ -365,7 +365,8 @@
     }
     if (SyncAuthenticPixels(image,exception) == MagickFalse)
       break;
-    status=SetImageProgress(image,LoadImageTag,y,image->rows);
+    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
@@ -579,7 +580,8 @@
         bit=0;
         byte=0;
       };
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/xpm.c b/coders/xpm.c
index 99dad05..d53dc27 100644
--- a/coders/xpm.c
+++ b/coders/xpm.c
@@ -1029,7 +1029,8 @@
     (void) WriteBlobString(image,buffer);
     if (image->previous == (Image *) NULL)
       {
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
diff --git a/coders/xtrn.c b/coders/xtrn.c
index 30f2f93..d845a26 100644
--- a/coders/xtrn.c
+++ b/coders/xtrn.c
@@ -204,7 +204,7 @@
       size_t
         blob_length;
 
-                  ssize_t
+                  long
         lBoundl,
         lBoundu;
 
@@ -440,7 +440,7 @@
   SAFEARRAY *pSafeArray = (SAFEARRAY *)image->client_data;
   if (pSafeArray != NULL)
   {
-                ssize_t lBoundl, lBoundu, lCount;
+                long lBoundl, lBoundu, lCount;
           HRESULT hr = S_OK;
     /* First see how big the buffer currently is */
                 hr = SafeArrayGetLBound(pSafeArray, 1, &lBoundl);
@@ -455,14 +455,14 @@
     {
             unsigned char       *pReturnBuffer = NULL;
       NewArrayBounds[0].lLbound = 0;   /* Start-Index 0 */
-      NewArrayBounds[0].cElements = (size_t) (length+lCount);  /* # Elemente */
+      NewArrayBounds[0].cElements = (unsigned long) (length+lCount);  /* # Elemente */
       hr = SafeArrayRedim(pSafeArray, NewArrayBounds);
       if (FAILED(hr))
         return 0;
       hr = SafeArrayAccessData(pSafeArray, (void**)&pReturnBuffer);
             if( FAILED(hr) )
                     return 0;
-            (void) CopyMagickMemory( pReturnBuffer+lCount, (unsigned char *)data, length );
+            (void) memcpy( pReturnBuffer+lCount, (unsigned char *)data, length );
       hr = SafeArrayUnaccessData(pSafeArray);
             if( FAILED(hr) )
                     return 0;
diff --git a/coders/xwd.c b/coders/xwd.c
index f2133c7..690f7ef 100644
--- a/coders/xwd.c
+++ b/coders/xwd.c
@@ -418,7 +418,8 @@
             }
             if (SyncAuthenticPixels(image,exception) == MagickFalse)
               break;
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
@@ -444,7 +445,8 @@
             }
             if (SyncAuthenticPixels(image,exception) == MagickFalse)
               break;
-            status=SetImageProgress(image,LoadImageTag,y,image->rows);
+            status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
             if (status == MagickFalse)
               break;
           }
@@ -478,7 +480,8 @@
           }
           if (SyncAuthenticPixels(image,exception) == MagickFalse)
             break;
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -778,7 +781,8 @@
     for (x=0; x < (ssize_t) scanline_pad; x++)
       *q++='\0';
     (void) WriteBlob(image,(size_t) (q-pixels),pixels);
-    status=SetImageProgress(image,SaveImageTag,y,image->rows);
+    status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
     if (status == MagickFalse)
       break;
   }
diff --git a/coders/ycbcr.c b/coders/ycbcr.c
index 2686541..6571699 100644
--- a/coders/ycbcr.c
+++ b/coders/ycbcr.c
@@ -263,7 +263,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -339,7 +340,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,LoadImageTag,y,image->rows);
+              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1032,7 +1034,8 @@
             break;
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -1074,7 +1077,8 @@
             }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
diff --git a/coders/yuv.c b/coders/yuv.c
index b058fe6..5981305 100644
--- a/coders/yuv.c
+++ b/coders/yuv.c
@@ -283,7 +283,8 @@
           break;
       if (image->previous == (Image *) NULL)
         {
-          status=SetImageProgress(image,LoadImageTag,y,image->rows);
+          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
+                image->rows);
           if (status == MagickFalse)
             break;
         }
@@ -636,7 +637,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }
@@ -661,7 +663,8 @@
           }
           if (image->previous == (Image *) NULL)
             {
-              status=SetImageProgress(image,SaveImageTag,y,image->rows);
+              status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
               if (status == MagickFalse)
                 break;
             }