diff --git a/coders/aai.c b/coders/aai.c
index 490d812..bcde36c 100644
--- a/coders/aai.c
+++ b/coders/aai.c
@@ -365,7 +365,7 @@
       Write AAI header.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     (void) WriteBlobLSBLong(image,(unsigned int) image->columns);
     (void) WriteBlobLSBLong(image,(unsigned int) image->rows);
     /*
diff --git a/coders/art.c b/coders/art.c
index c102f02..fbb8585 100644
--- a/coders/art.c
+++ b/coders/art.c
@@ -323,7 +323,7 @@
   (void) WriteBlobLSBShort(image,0);
   (void) WriteBlobLSBShort(image,(unsigned short) image->rows);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   length=(image->columns+7)/8;
   pixels=(unsigned char *) AcquireQuantumMemory(length,sizeof(*pixels));
   if (pixels == (unsigned char *) NULL)
diff --git a/coders/avs.c b/coders/avs.c
index 2127d90..dc9012a 100644
--- a/coders/avs.c
+++ b/coders/avs.c
@@ -362,7 +362,7 @@
       Write AVS header.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     (void) WriteBlobMSBLong(image,(unsigned int) image->columns);
     (void) WriteBlobMSBLong(image,(unsigned int) image->rows);
     /*
diff --git a/coders/bgr.c b/coders/bgr.c
index d598b86..24d3393 100644
--- a/coders/bgr.c
+++ b/coders/bgr.c
@@ -1108,7 +1108,7 @@
       Convert MIFF to BGR raster pixels.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     if ((LocaleCompare(image_info->magick,"BGRA") == 0) &&
         (image->matte == MagickFalse))
       (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
diff --git a/coders/bmp.c b/coders/bmp.c
index 8c3b4a5..972cf17 100644
--- a/coders/bmp.c
+++ b/coders/bmp.c
@@ -1515,7 +1515,7 @@
       Initialize BMP raster file header.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     (void) ResetMagickMemory(&bmp_info,0,sizeof(bmp_info));
     bmp_info.file_size=14+12;
     if (type > 2)
diff --git a/coders/cin.c b/coders/cin.c
index 593b527..f7363df 100644
--- a/coders/cin.c
+++ b/coders/cin.c
@@ -912,7 +912,7 @@
   if (status == MagickFalse)
     return(status);
   if (image->colorspace != LogColorspace)
-    (void) TransformImageColorspace(image,LogColorspace);
+    (void) TransformImageColorspace(image,LogColorspace,exception);
   /*
     Write image information.
   */
diff --git a/coders/cip.c b/coders/cip.c
index 2b8ea20..b21b342 100644
--- a/coders/cip.c
+++ b/coders/cip.c
@@ -236,7 +236,7 @@
   (void) WriteBlobString(image,buffer);
   (void) WriteBlobString(image,"<Data>");
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     p=GetVirtualPixels(image,0,y,image->columns,1,exception);
diff --git a/coders/cmyk.c b/coders/cmyk.c
index 5a102c2..7777333 100644
--- a/coders/cmyk.c
+++ b/coders/cmyk.c
@@ -1225,7 +1225,7 @@
       Convert MIFF to CMYK raster pixels.
     */
     if (image->colorspace != CMYKColorspace)
-      (void) TransformImageColorspace(image,CMYKColorspace);
+      (void) TransformImageColorspace(image,CMYKColorspace,exception);
     if ((LocaleCompare(image_info->magick,"CMYKA") == 0) &&
         (image->matte == MagickFalse))
       (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
diff --git a/coders/dib.c b/coders/dib.c
index 80019d2..8e7f19c 100644
--- a/coders/dib.c
+++ b/coders/dib.c
@@ -1011,7 +1011,7 @@
     Initialize DIB raster file header.
   */
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   if (image->storage_class == DirectClass)
     {
       /*
diff --git a/coders/ept.c b/coders/ept.c
index 2f378f8..bc1c3bd 100644
--- a/coders/ept.c
+++ b/coders/ept.c
@@ -419,7 +419,7 @@
   (void) FormatLocaleString(filename,MaxTextExtent,"tiff:%s",
     write_info->filename); 
   (void) CopyMagickString(write_info->filename,filename,MaxTextExtent);
-  (void) TransformImage(&write_image,(char *) NULL,"512x512>");
+  (void) TransformImage(&write_image,(char *) NULL,"512x512>",exception);
   if ((write_image->storage_class == DirectClass) ||
       (write_image->colors > 256))
     {
diff --git a/coders/fax.c b/coders/fax.c
index f618c20..34b7a4b 100644
--- a/coders/fax.c
+++ b/coders/fax.c
@@ -331,7 +331,7 @@
       Convert MIFF to monochrome.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     status=HuffmanEncodeImage(write_info,image,image,exception);
     if (GetNextImageInList(image) == (Image *) NULL)
       break;
diff --git a/coders/fits.c b/coders/fits.c
index b22c8a9..dcea2e3 100644
--- a/coders/fits.c
+++ b/coders/fits.c
@@ -638,7 +638,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Allocate image memory.
   */
diff --git a/coders/fpx.c b/coders/fpx.c
index dd829fb..f690755 100644
--- a/coders/fpx.c
+++ b/coders/fpx.c
@@ -859,7 +859,7 @@
   */
   image->depth=8;
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   memory_limit=20000000;
   fpx_status=FPX_SetToolkitMemoryLimit(&memory_limit);
   if (fpx_status != FPX_OK)
diff --git a/coders/gif.c b/coders/gif.c
index b3c135b..35f74d8 100644
--- a/coders/gif.c
+++ b/coders/gif.c
@@ -1564,7 +1564,7 @@
   do
   {
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     opacity=(-1);
     if (IsImageOpaque(image,exception) != MagickFalse)
       {
diff --git a/coders/gradient.c b/coders/gradient.c
index b0d3336..e0353af 100644
--- a/coders/gradient.c
+++ b/coders/gradient.c
@@ -117,7 +117,7 @@
   image=AcquireImage(image_info,exception);
   if ((image->columns == 0) || (image->rows == 0))
     ThrowReaderException(OptionError,"MustSpecifyImageSize");
-  (void) SetImageAlpha(image,(Quantum) TransparentAlpha);
+  (void) SetImageAlpha(image,(Quantum) TransparentAlpha,exception);
   (void) CopyMagickString(image->filename,image_info->filename,MaxTextExtent);
   (void) CopyMagickString(colorname,image_info->filename,MaxTextExtent);
   (void) sscanf(image_info->filename,"%[^-]",colorname);
diff --git a/coders/gray.c b/coders/gray.c
index 8b2c310..7655df7 100644
--- a/coders/gray.c
+++ b/coders/gray.c
@@ -413,7 +413,7 @@
       Write grayscale pixels.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     quantum_type=GrayQuantum;
     quantum_info=AcquireQuantumInfo(image_info,image);
     if (quantum_info == (QuantumInfo *) NULL)
diff --git a/coders/hdr.c b/coders/hdr.c
index f4f0da0..3bed84a 100644
--- a/coders/hdr.c
+++ b/coders/hdr.c
@@ -687,7 +687,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Write header.
   */
diff --git a/coders/hrz.c b/coders/hrz.c
index 32c5b2b..9fe9ef3 100644
--- a/coders/hrz.c
+++ b/coders/hrz.c
@@ -308,7 +308,7 @@
   if (hrz_image == (Image *) NULL)
     return(MagickFalse);
   if (IsRGBColorspace(hrz_image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(hrz_image,RGBColorspace);
+    (void) TransformImageColorspace(hrz_image,RGBColorspace,exception);
   /*
     Allocate memory for pixels.
   */
diff --git a/coders/html.c b/coders/html.c
index da660ae..5218639 100644
--- a/coders/html.c
+++ b/coders/html.c
@@ -251,7 +251,7 @@
     return(status);
   (void) CloseBlob(image);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   *url='\0';
   if ((LocaleCompare(image_info->magick,"FTP") == 0) ||
       (LocaleCompare(image_info->magick,"HTTP") == 0))
diff --git a/coders/icon.c b/coders/icon.c
index 25a082d..29226c7 100644
--- a/coders/icon.c
+++ b/coders/icon.c
@@ -906,7 +906,7 @@
           Initialize ICON raster file header.
         */
         if (next->colorspace != RGBColorspace)
-          (void) TransformImageColorspace(next,RGBColorspace);
+          (void) TransformImageColorspace(next,RGBColorspace,exception);
         icon_info.file_size=14+12+28;
         icon_info.offset_bits=icon_info.file_size;
         icon_info.compression=BI_RGB;
diff --git a/coders/ipl.c b/coders/ipl.c
index dcaa9a6..5a78283 100644
--- a/coders/ipl.c
+++ b/coders/ipl.c
@@ -577,7 +577,7 @@
   ipl_info.height = (unsigned int) image->rows;
   
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   
   if(IsRGBColorspace(image->colorspace) == MagickTrue) { ipl_info.colors = 3; }
   else{ ipl_info.colors = 1; }
diff --git a/coders/jbig.c b/coders/jbig.c
index 0048cf8..4faf712 100644
--- a/coders/jbig.c
+++ b/coders/jbig.c
@@ -446,7 +446,7 @@
       Allocate pixel data.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     number_packets=(image->columns+7)/8;
     pixels=(unsigned char *) AcquireQuantumMemory(number_packets,
       image->rows*sizeof(*pixels));
diff --git a/coders/jp2.c b/coders/jp2.c
index d966bb3..8831ae1 100644
--- a/coders/jp2.c
+++ b/coders/jp2.c
@@ -858,7 +858,7 @@
     Initialize JPEG 2000 API.
   */
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   jp2_stream=JP2StreamManager(image);
   if (jp2_stream == (jas_stream_t *) NULL)
     ThrowWriterException(DelegateError,"UnableToManageJP2Stream");
diff --git a/coders/jpeg.c b/coders/jpeg.c
index af8c77c..7a853d1 100644
--- a/coders/jpeg.c
+++ b/coders/jpeg.c
@@ -1857,7 +1857,7 @@
     default:
     {
       if (IsRGBColorspace(image->colorspace) == MagickFalse)
-        (void) TransformImageColorspace(image,RGBColorspace);
+        (void) TransformImageColorspace(image,RGBColorspace,exception);
       break;
     }
   }
diff --git a/coders/map.c b/coders/map.c
index 8e3c009..49de681 100644
--- a/coders/map.c
+++ b/coders/map.c
@@ -375,7 +375,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Allocate colormap.
   */
diff --git a/coders/mat.c b/coders/mat.c
index f5a852b..690f732 100644
--- a/coders/mat.c
+++ b/coders/mat.c
@@ -1215,7 +1215,7 @@
   do
   {
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
 
     is_gray = IsImageGray(image,exception);
     z = is_gray ? 0 : 3;
diff --git a/coders/mono.c b/coders/mono.c
index aa0b0a6..bcb0410 100644
--- a/coders/mono.c
+++ b/coders/mono.c
@@ -314,7 +314,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Convert image to a bi-level image.
   */
diff --git a/coders/msl.c b/coders/msl.c
index d74616a..6b55131 100644
--- a/coders/msl.c
+++ b/coders/msl.c
@@ -1923,7 +1923,8 @@
                           SetImageType(composite_image,TrueColorMatteType,
                             &exception);
                           (void) CompositeImage(composite_image,
-                            CopyOpacityCompositeOp,msl_info->image[j],0,0);
+                            CopyOpacityCompositeOp,msl_info->image[j],0,0,
+                            &exception);
                           break;
                         }
                     }
@@ -1953,13 +1954,14 @@
                       if (compose != DissolveCompositeOp)
                         {
                           (void) SetImageAlpha(composite_image,(Quantum)
-                            opacity);
+                            opacity,&exception);
                           break;
                         }
                       (void) SetImageArtifact(msl_info->image[n],
                                             "compose:args",value);
                       if (composite_image->matte != MagickTrue)
-                        (void) SetImageAlpha(composite_image,OpaqueAlpha);
+                        (void) SetImageAlpha(composite_image,OpaqueAlpha,
+                          &exception);
                       composite_view=AcquireCacheView(composite_image);
                       for (y=0; y < (ssize_t) composite_image->rows ; y++)
                       {
@@ -2024,10 +2026,10 @@
                          {
                            if (rotate_image != (Image *) NULL)
                              (void) CompositeImage(image,compose,rotate_image,
-                               x,y);
+                               x,y,&exception);
                            else
                              (void) CompositeImage(image,compose,
-                               composite_image,x,y);
+                               composite_image,x,y,&exception);
                          }
                       if (rotate_image != (Image *) NULL)
                         rotate_image=DestroyImage(rotate_image);
@@ -2078,7 +2080,8 @@
             &exception);
           channel_mask=SetPixelChannelMask(image,channel);
           if (rotate_image == (Image *) NULL)
-            CompositeImage(image,compose,composite_image,geometry.x,geometry.y);
+            CompositeImage(image,compose,composite_image,geometry.x,geometry.y,
+              &exception);
           else
             {
               /*
@@ -2088,7 +2091,8 @@
                 composite_image->columns)/2;
               geometry.y-=(ssize_t) (rotate_image->rows-
                 composite_image->rows)/2;
-              CompositeImage(image,compose,rotate_image,geometry.x,geometry.y);
+              CompositeImage(image,compose,rotate_image,geometry.x,geometry.y,
+                &exception);
               rotate_image=DestroyImage(rotate_image);
             }
           (void) SetPixelChannelMask(image,channel_mask);
@@ -6069,7 +6073,7 @@
                     ThrowMSLException(OptionError,"UnrecognizedColorspace",
                       value);
                   (void) TransformImageColorspace(msl_info->image[n],
-                    (ColorspaceType) colorspace);
+                    (ColorspaceType) colorspace,&exception);
                   break;
                 }
               (void) SetMSLAttributes(msl_info,keyword,value);
@@ -6110,7 +6114,8 @@
                     opac = (int)(QuantumRange * ((float)opac/100));
                   } else
                     opac = StringToLong( value );
-                  (void) SetImageAlpha( msl_info->image[n], (Quantum) opac );
+                  (void) SetImageAlpha( msl_info->image[n], (Quantum) opac,
+                    &exception);
                   break;
               }
               (void) SetMSLAttributes(msl_info,keyword,value);
@@ -7139,7 +7144,7 @@
                 }
               }
             }
-          (void) TextureImage(msl_info->image[n],texture_image);
+          (void) TextureImage(msl_info->image[n],texture_image,&exception);
           texture_image=DestroyImage(texture_image);
           break;
         }
@@ -7185,8 +7190,8 @@
           process image.
         */
         {
-          BilevelImage(msl_info->image[n],threshold);
-        break;
+          BilevelImage(msl_info->image[n],threshold,&exception);
+          break;
         }
       }
       else if (LocaleCompare((const char *) tag, "transparent") == 0)
diff --git a/coders/mtv.c b/coders/mtv.c
index 6a0ebe1..a60e102 100644
--- a/coders/mtv.c
+++ b/coders/mtv.c
@@ -367,7 +367,7 @@
       Allocate memory for pixels.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     pixels=(unsigned char *) AcquireQuantumMemory((size_t) image->columns,
       3UL*sizeof(*pixels));
     if (pixels == (unsigned char *) NULL)
diff --git a/coders/otb.c b/coders/otb.c
index 6985426..9c7ef2d 100644
--- a/coders/otb.c
+++ b/coders/otb.c
@@ -334,7 +334,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Convert image to a bi-level image.
   */
diff --git a/coders/palm.c b/coders/palm.c
index 28082bc..9735b58 100644
--- a/coders/palm.c
+++ b/coders/palm.c
@@ -734,16 +734,16 @@
   do
   {
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     count=GetNumberColors(image,NULL,exception);
     for (bits_per_pixel=1;  (one << bits_per_pixel) < count; bits_per_pixel*=2) ;
     if (image_info->depth > 100)
       bits_per_pixel=image_info->depth-100;
     if (bits_per_pixel < 16)
-      (void) TransformImageColorspace(image,image->colorspace);
+      (void) TransformImageColorspace(image,image->colorspace,exception);
     if (bits_per_pixel < 8)
       {
-        (void) TransformImageColorspace(image,GRAYColorspace);
+        (void) TransformImageColorspace(image,GRAYColorspace,exception);
         (void) SetImageType(image,PaletteType,exception);
         (void) SortColormapByIntensity(image,exception);
       }
@@ -817,7 +817,7 @@
           affinity_image=ConstituteImage(256,1,"RGB",CharPixel,&PalmPalette,
             exception);
           (void) TransformImageColorspace(affinity_image,
-            affinity_image->colorspace);
+            affinity_image->colorspace,exception);
           (void) RemapImage(quantize_info,image,affinity_image,exception);
           for (y=0; y < (ssize_t) image->rows; y++)
           {
diff --git a/coders/pattern.c b/coders/pattern.c
index 5101404..f9dd536 100644
--- a/coders/pattern.c
+++ b/coders/pattern.c
@@ -991,7 +991,7 @@
       image=AcquireImage(blob_info,exception);
       image->background_color=pattern_image->background_color;
       (void) SetImageBackgroundColor(image);
-      (void) TextureImage(image,pattern_image);
+      (void) TextureImage(image,pattern_image,exception);
       pattern_image=DestroyImage(pattern_image);
     }
   blob_info=DestroyImageInfo(blob_info);
diff --git a/coders/pcd.c b/coders/pcd.c
index af0df4f..bcf7126 100644
--- a/coders/pcd.c
+++ b/coders/pcd.c
@@ -943,7 +943,7 @@
 */
 
 static MagickBooleanType WritePCDTile(Image *image,const char *page_geometry,
-  const char *tile_geometry)
+  const char *tile_geometry,ExceptionInfo *exception)
 {
   GeometryInfo
     geometry_info;
@@ -1012,9 +1012,9 @@
       tile_image=DestroyImage(tile_image);
       tile_image=bordered_image;
     }
-  (void) TransformImage(&tile_image,(char *) NULL,tile_geometry);
+  (void) TransformImage(&tile_image,(char *) NULL,tile_geometry,exception);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(tile_image,YCCColorspace);
+    (void) TransformImageColorspace(tile_image,YCCColorspace,exception);
   downsample_image=ResizeImage(tile_image,tile_image->columns/2,
     tile_image->rows/2,TriangleFilter,1.0,&image->exception);
   if (downsample_image == (Image *) NULL)
@@ -1103,7 +1103,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(pcd_image,RGBColorspace);
+    (void) TransformImageColorspace(pcd_image,RGBColorspace,exception);
   /*
     Write PCD image header.
   */
@@ -1140,9 +1140,9 @@
   /*
     Write PCD tiles.
   */
-  status=WritePCDTile(pcd_image,"768x512>","192x128");
-  status=WritePCDTile(pcd_image,"768x512>","384x256");
-  status=WritePCDTile(pcd_image,"768x512>","768x512");
+  status=WritePCDTile(pcd_image,"768x512>","192x128",exception);
+  status=WritePCDTile(pcd_image,"768x512>","384x256",exception);
+  status=WritePCDTile(pcd_image,"768x512>","768x512",exception);
   (void) CloseBlob(pcd_image);
   if (pcd_image != image)
     pcd_image=DestroyImage(pcd_image);
diff --git a/coders/pcl.c b/coders/pcl.c
index 7f9c607..4386e29 100644
--- a/coders/pcl.c
+++ b/coders/pcl.c
@@ -722,7 +722,7 @@
   do
   {
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     /*
       Initialize the printer.
     */
diff --git a/coders/pcx.c b/coders/pcx.c
index 11e7d34..14b4fb8 100644
--- a/coders/pcx.c
+++ b/coders/pcx.c
@@ -880,7 +880,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   page_table=(MagickOffsetType *) NULL;
   if ((LocaleCompare(image_info->magick,"DCX") == 0) ||
       ((GetNextImageInList(image) != (Image *) NULL) &&
diff --git a/coders/pdb.c b/coders/pdb.c
index 6202bc1..a014d1c 100644
--- a/coders/pdb.c
+++ b/coders/pdb.c
@@ -744,7 +744,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
 
   if (image -> colors <= 2  ||  GetImageType( image, exception ) == BilevelType) { /* TS */
     bits_per_pixel = 1;
@@ -819,7 +819,7 @@
   if (scanline == (unsigned char *) NULL)
     ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Convert to GRAY raster scanline.
   */
diff --git a/coders/pdf.c b/coders/pdf.c
index 0a86318..db9499b 100644
--- a/coders/pdf.c
+++ b/coders/pdf.c
@@ -1256,7 +1256,7 @@
     if (compression == JPEG2000Compression)
       {
         if (IsRGBColorspace(image->colorspace) == MagickFalse)
-          (void) TransformImageColorspace(image,RGBColorspace);
+          (void) TransformImageColorspace(image,RGBColorspace,exception);
       }
     /*
       Scale relative to dots-per-inch.
diff --git a/coders/pict.c b/coders/pict.c
index 1b09737..eb3721e 100644
--- a/coders/pict.c
+++ b/coders/pict.c
@@ -1240,7 +1240,7 @@
               if ((code == 0x9a) || (code == 0x9b) ||
                   ((bytes_per_line & 0x8000) != 0))
                 (void) CompositeImage(image,CopyCompositeOp,tile_image,
-                  destination.left,destination.top);
+                  destination.left,destination.top,exception);
             tile_image=DestroyImage(tile_image);
             break;
           }
@@ -1384,9 +1384,10 @@
           MagickMax(image->columns,tile_image->columns),
           MagickMax(image->rows,tile_image->rows),exception);
         if (IsRGBColorspace(image->colorspace) == MagickFalse)
-          (void) TransformImageColorspace(image,tile_image->colorspace);
+          (void) TransformImageColorspace(image,tile_image->colorspace,
+            exception);
         (void) CompositeImage(image,CopyCompositeOp,tile_image,frame.left,
-          frame.right);
+          frame.right,exception);
         image->compression=tile_image->compression;
         tile_image=DestroyImage(tile_image);
         continue;
@@ -1601,7 +1602,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Initialize image info.
   */
diff --git a/coders/png.c b/coders/png.c
index b863d54..289d60a 100644
--- a/coders/png.c
+++ b/coders/png.c
@@ -7724,7 +7724,7 @@
     }
 
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
 
   /*
     Sometimes we get PseudoClass images whose RGB values don't match
@@ -10057,7 +10057,7 @@
     {
       /* Add an opaque matte channel */
       image->matte = MagickTrue;
-      (void) SetImageAlpha(image,OpaqueAlpha);
+      (void) SetImageAlpha(image,OpaqueAlpha,exception);
 
       if (logging != MagickFalse)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
@@ -11665,7 +11665,7 @@
 
       (void) CopyMagickString(jpeg_image->magick,"JPEG",MaxTextExtent);
       channel_mask=SetPixelChannelMask(jpeg_image,AlphaChannel);
-      status=SeparateImage(jpeg_image);
+      status=SeparateImage(jpeg_image,exception);
       (void) SetPixelChannelMap(jpeg_image,channel_mask);
       jpeg_image->matte=MagickFalse;
 
diff --git a/coders/pnm.c b/coders/pnm.c
index 483bb9b..ba155cc 100644
--- a/coders/pnm.c
+++ b/coders/pnm.c
@@ -1565,7 +1565,7 @@
     if (format != '7')
       {
         if (IsRGBColorspace(image->colorspace) == MagickFalse)
-          (void) TransformImageColorspace(image,RGBColorspace);
+          (void) TransformImageColorspace(image,RGBColorspace,exception);
         (void) FormatLocaleString(buffer,MaxTextExtent,"%.20g %.20g\n",
           (double) image->columns,(double) image->rows);
         (void) WriteBlobString(image,buffer);
diff --git a/coders/ps.c b/coders/ps.c
index 3ba4b38..4ec4d23 100644
--- a/coders/ps.c
+++ b/coders/ps.c
@@ -1427,7 +1427,7 @@
     */
     if ((IsRGBColorspace(image->colorspace) == MagickFalse) &&
         (image->colorspace != CMYKColorspace))
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     delta.x=DefaultResolution;
     delta.y=DefaultResolution;
     resolution.x=image->x_resolution;
diff --git a/coders/ps3.c b/coders/ps3.c
index 659f8e0..1514682 100644
--- a/coders/ps3.c
+++ b/coders/ps3.c
@@ -522,7 +522,7 @@
   if (mask_image == (Image *) NULL)
     ThrowWriterException(CoderError,image->exception.reason);
   channel_mask=SetPixelChannelMask(mask_image,AlphaChannel);
-  status=SeparateImage(mask_image);
+  status=SeparateImage(mask_image,exception);
   (void) SetPixelChannelMap(mask_image,channel_mask);
   if (status == MagickFalse)
     {
diff --git a/coders/psd.c b/coders/psd.c
index 5742e9e..1206660 100644
--- a/coders/psd.c
+++ b/coders/psd.c
@@ -2149,14 +2149,14 @@
           (image_info->colorspace != CMYKColorspace))
         {
           if (IsRGBColorspace(image->colorspace) == MagickFalse)
-            (void) TransformImageColorspace(image,RGBColorspace);
+            (void) TransformImageColorspace(image,RGBColorspace,exception);
           (void) WriteBlobMSBShort(image,(unsigned short)
             (image->storage_class == PseudoClass ? IndexedMode : RGBMode));
         }
       else
         {
           if (image->colorspace != CMYKColorspace)
-            (void) TransformImageColorspace(image,CMYKColorspace);
+            (void) TransformImageColorspace(image,CMYKColorspace,exception);
           (void) WriteBlobMSBShort(image,CMYKMode);
         }
     }
diff --git a/coders/rgb.c b/coders/rgb.c
index ff1c65f..e97a747 100644
--- a/coders/rgb.c
+++ b/coders/rgb.c
@@ -1127,7 +1127,7 @@
       Convert MIFF to RGB raster pixels.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     if ((LocaleCompare(image_info->magick,"RGBA") == 0) &&
         (image->matte == MagickFalse))
       (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
diff --git a/coders/sgi.c b/coders/sgi.c
index ed4bc26..90ba848 100644
--- a/coders/sgi.c
+++ b/coders/sgi.c
@@ -908,7 +908,7 @@
       Initialize SGI raster file header.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     (void) ResetMagickMemory(&iris_info,0,sizeof(iris_info));
     iris_info.magic=0x01DA;
     compression=image->compression;
diff --git a/coders/sun.c b/coders/sun.c
index b5cb539..673b5ad 100644
--- a/coders/sun.c
+++ b/coders/sun.c
@@ -762,7 +762,7 @@
       Initialize SUN raster file header.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     sun_info.magic=0x59a66a95;
     if ((image->columns != (unsigned int) image->columns) ||
         (image->rows != (unsigned int) image->rows))
diff --git a/coders/tga.c b/coders/tga.c
index 8187ec8..850b75e 100644
--- a/coders/tga.c
+++ b/coders/tga.c
@@ -680,7 +680,7 @@
   if ((image->columns > 65535L) || (image->rows > 65535L))
     ThrowWriterException(ImageError,"WidthOrHeightExceedsLimit");
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   targa_info.id_length=0;
   value=GetImageProperty(image,"comment",exception);
   if (value != (const char *) NULL)
diff --git a/coders/tiff.c b/coders/tiff.c
index 27a0eaf..2a8e17b 100644
--- a/coders/tiff.c
+++ b/coders/tiff.c
@@ -2745,7 +2745,7 @@
           else
             {
               if (IsRGBColorspace(image->colorspace) == MagickFalse)
-                (void) TransformImageColorspace(image,RGBColorspace);
+                (void) TransformImageColorspace(image,RGBColorspace,exception);
               photometric=PHOTOMETRIC_RGB;
             }
         (void) TIFFSetField(tiff,TIFFTAG_SAMPLESPERPIXEL,3);
@@ -3219,7 +3219,7 @@
         if (image->matte != MagickFalse)
           quantum_type=CMYKAQuantum;
         if (image->colorspace != CMYKColorspace)
-          (void) TransformImageColorspace(image,CMYKColorspace);
+          (void) TransformImageColorspace(image,CMYKColorspace,exception);
         for (y=0; y < (ssize_t) image->rows; y++)
         {
           register const Quantum
diff --git a/coders/tile.c b/coders/tile.c
index cd0e42b..fc7a1c7 100644
--- a/coders/tile.c
+++ b/coders/tile.c
@@ -125,7 +125,7 @@
       tile_image->tile_offset.x=0;
       tile_image->tile_offset.y=0;
     }
-  (void) TextureImage(image,tile_image);
+  (void) TextureImage(image,tile_image,exception);
   tile_image=DestroyImage(tile_image);
   return(GetFirstImageInList(image));
 }
diff --git a/coders/txt.c b/coders/txt.c
index 3f6cbdd..d86cadf 100644
--- a/coders/txt.c
+++ b/coders/txt.c
@@ -286,7 +286,7 @@
 
         progress_monitor=SetImageProgressMonitor(image,
           (MagickProgressMonitor) NULL,image->client_data);
-        (void) TextureImage(image,texture);
+        (void) TextureImage(image,texture,exception);
         (void) SetImageProgressMonitor(image,progress_monitor,
           image->client_data);
       }
@@ -321,7 +321,7 @@
 
       progress_monitor=SetImageProgressMonitor(image,
         (MagickProgressMonitor) NULL,image->client_data);
-      (void) TextureImage(image,texture);
+      (void) TextureImage(image,texture,exception);
       (void) SetImageProgressMonitor(image,progress_monitor,image->client_data);
     }
   (void) AnnotateImage(image,draw_info,exception);
diff --git a/coders/uil.c b/coders/uil.c
index 28003f3..3dc11fc 100644
--- a/coders/uil.c
+++ b/coders/uil.c
@@ -214,7 +214,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   transparent=MagickFalse;
   i=0;
   p=(const Quantum *) NULL;
diff --git a/coders/uyvy.c b/coders/uyvy.c
index f09d934..0716579 100644
--- a/coders/uyvy.c
+++ b/coders/uyvy.c
@@ -330,7 +330,7 @@
   uyvy_image=CloneImage(image,0,0,MagickTrue,exception);
   if (uyvy_image == (Image *) NULL)
     return(MagickFalse);
-  (void) TransformImageColorspace(uyvy_image,YCbCrColorspace);
+  (void) TransformImageColorspace(uyvy_image,YCbCrColorspace,exception);
   full=MagickFalse;
   (void) ResetMagickMemory(&pixel,0,sizeof(PixelInfo));
   for (y=0; y < (ssize_t) image->rows; y++)
diff --git a/coders/vicar.c b/coders/vicar.c
index 2e7bb74..b37213f 100644
--- a/coders/vicar.c
+++ b/coders/vicar.c
@@ -458,7 +458,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Write header.
   */
diff --git a/coders/viff.c b/coders/viff.c
index aaba9f6..0241ad0 100644
--- a/coders/viff.c
+++ b/coders/viff.c
@@ -975,7 +975,7 @@
       Initialize VIFF image structure.
     */
     if (IsRGBColorspace(image->colorspace) == MagickFalse)
-      (void) TransformImageColorspace(image,RGBColorspace);
+      (void) TransformImageColorspace(image,RGBColorspace,exception);
     if (IsImageGray(image,exception) != MagickFalse)
       (void) SetImageStorageClass(image,DirectClass,exception);
     viff_info.identifier=(char) 0xab;
diff --git a/coders/wbmp.c b/coders/wbmp.c
index 2f77d2f..89f4370 100644
--- a/coders/wbmp.c
+++ b/coders/wbmp.c
@@ -378,7 +378,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Convert image to a bi-level image.
   */
diff --git a/coders/xbm.c b/coders/xbm.c
index eed9831..c5ccffc 100644
--- a/coders/xbm.c
+++ b/coders/xbm.c
@@ -511,7 +511,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Write X bitmap header.
   */
diff --git a/coders/xcf.c b/coders/xcf.c
index e6caf55..6c5b890 100644
--- a/coders/xcf.c
+++ b/coders/xcf.c
@@ -683,7 +683,7 @@
 
       /* composite the tile onto the layer's image, and then destroy it */
       (void) CompositeImage(inLayerInfo->image,CopyCompositeOp,tile_image,
-        destLeft * TILE_WIDTH,destTop*TILE_HEIGHT);
+        destLeft * TILE_WIDTH,destTop*TILE_HEIGHT,exception);
       tile_image=DestroyImage(tile_image);
 
       /* adjust tile position */
@@ -1311,7 +1311,7 @@
           Composite the layer data onto the main image, dispose the layer.
         */
         (void) CompositeImage(image,OverCompositeOp,layer_info[0].image,
-          layer_info[0].offset_x,layer_info[0].offset_y);
+          layer_info[0].offset_x,layer_info[0].offset_y,exception);
         layer_info[0].image =DestroyImage( layer_info[0].image);
       }
     else
@@ -1347,7 +1347,7 @@
         (void) CompositeImage(image,CopyCompositeOp,
           layer_info[number_layers-1].image,
           layer_info[number_layers-1].offset_x,
-          layer_info[number_layers-1].offset_y);
+          layer_info[number_layers-1].offset_y,exception);
           layer_info[number_layers-1].image=DestroyImage(
             layer_info[number_layers-1].image);
 
diff --git a/coders/xpm.c b/coders/xpm.c
index f07adc3..4ac8721 100644
--- a/coders/xpm.c
+++ b/coders/xpm.c
@@ -632,7 +632,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   SetGeometry(image,&geometry);
   (void) ParseMetaGeometry(PiconGeometry,&geometry.x,&geometry.y,
     &geometry.width,&geometry.height);
@@ -879,7 +879,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   opacity=(-1);
   if (image->matte == MagickFalse)
     {
diff --git a/coders/xwd.c b/coders/xwd.c
index 38b21fb..b1be9aa 100644
--- a/coders/xwd.c
+++ b/coders/xwd.c
@@ -650,7 +650,7 @@
   if (status == MagickFalse)
     return(status);
   if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformImageColorspace(image,RGBColorspace);
+    (void) TransformImageColorspace(image,RGBColorspace,exception);
   /*
     Initialize XWD file header.
   */
diff --git a/coders/ycbcr.c b/coders/ycbcr.c
index 9ff4db3..342f307 100644
--- a/coders/ycbcr.c
+++ b/coders/ycbcr.c
@@ -1015,7 +1015,7 @@
       Convert MIFF to YCbCr raster pixels.
     */
     if (image->colorspace != YCbCrColorspace)
-      (void) TransformImageColorspace(image,YCbCrColorspace);
+      (void) TransformImageColorspace(image,YCbCrColorspace,exception);
     if ((LocaleCompare(image_info->magick,"YCbCrA") == 0) &&
         (image->matte == MagickFalse))
       (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
diff --git a/coders/yuv.c b/coders/yuv.c
index 331c028..ab67250 100644
--- a/coders/yuv.c
+++ b/coders/yuv.c
@@ -647,7 +647,7 @@
         (void) CloseBlob(image);
         return(MagickFalse);
       }
-    (void) TransformImageColorspace(yuv_image,YCbCrColorspace);
+    (void) TransformImageColorspace(yuv_image,YCbCrColorspace,exception);
     /*
       Downsample image.
     */
@@ -658,7 +658,7 @@
         (void) CloseBlob(image);
         return(MagickFalse);
       }
-    (void) TransformImageColorspace(chroma_image,YCbCrColorspace);
+    (void) TransformImageColorspace(chroma_image,YCbCrColorspace,exception);
     if (interlace == NoInterlace)
       {
         /*