diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp
index a05df94..203ec96 100644
--- a/Magick++/lib/Image.cpp
+++ b/Magick++/lib/Image.cpp
@@ -526,9 +526,12 @@
{
modifyImage();
ChannelType channel_mask = SetPixelChannelMask( image(), channel_ );
- SeparateImage ( image() );
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
+ SeparateImage ( image(), &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
(void) SetPixelChannelMap( image(), channel_mask );
- throwImageException();
}
// Set or obtain modulus channel depth
@@ -674,12 +677,15 @@
// results in updating current image.
modifyImage();
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
CompositeImage( image(),
compose_,
compositeImage_.constImage(),
xOffset_,
- yOffset_ );
- throwImageException();
+ yOffset_, &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
void Magick::Image::composite ( const Image &compositeImage_,
const Geometry &offset_,
@@ -696,11 +702,14 @@
&x, &y,
&width, &height );
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
CompositeImage( image(),
compose_,
compositeImage_.constImage(),
- x, y );
- throwImageException();
+ x, y, &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
void Magick::Image::composite ( const Image &compositeImage_,
const GravityType gravity_,
@@ -713,11 +722,14 @@
SetGeometry(compositeImage_.constImage(), &geometry);
GravityAdjustGeometry(columns(), rows(), gravity_, &geometry);
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
CompositeImage( image(),
compose_,
compositeImage_.constImage(),
- geometry.x, geometry.y );
- throwImageException();
+ geometry.x, geometry.y, &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
// Contrast image
@@ -1464,7 +1476,11 @@
void Magick::Image::alpha ( const unsigned int alpha_ )
{
modifyImage();
- SetImageAlpha( image(), alpha_ );
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
+ SetImageAlpha( image(), alpha_, &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
// Change the color of an opaque pixel to the pen color.
@@ -1599,7 +1615,8 @@
EvaluateImage( crop_image, operator_, rvalue_, &exceptionInfo );
(void) SetPixelChannelMap( image(), channel_mask );
(void) CompositeImage( image(), image()->matte != MagickFalse ?
- OverCompositeOp : CopyCompositeOp, crop_image, geometry.x, geometry.y );
+ OverCompositeOp : CopyCompositeOp, crop_image, geometry.x, geometry.y,
+ &exceptionInfo );
crop_image = DestroyImageList(crop_image);
throwException( exceptionInfo );
(void) DestroyExceptionInfo( &exceptionInfo );
@@ -2107,34 +2124,46 @@
void Magick::Image::texture ( const Image &texture_ )
{
modifyImage();
- TextureImage( image(), texture_.constImage() );
- throwImageException();
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
+ TextureImage( image(), texture_.constImage(), &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
// Threshold image
void Magick::Image::threshold ( const double threshold_ )
{
modifyImage();
- BilevelImage( image(), threshold_ );
- throwImageException();
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
+ BilevelImage( image(), threshold_, &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
// Transform image based on image geometry only
void Magick::Image::transform ( const Geometry &imageGeometry_ )
{
modifyImage();
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
TransformImage ( &(image()), 0,
- std::string(imageGeometry_).c_str() );
- throwImageException();
+ std::string(imageGeometry_).c_str(), &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
// Transform image based on image and crop geometries
void Magick::Image::transform ( const Geometry &imageGeometry_,
const Geometry &cropGeometry_ )
{
modifyImage();
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
TransformImage ( &(image()), std::string(cropGeometry_).c_str(),
- std::string(imageGeometry_).c_str() );
- throwImageException();
+ std::string(imageGeometry_).c_str(), &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
// Add matte image to image, setting pixels matching color to transparent
@@ -3342,9 +3371,13 @@
// matte channel, then create an opaque matte channel. Likewise, if
// the image already has a matte channel but a matte channel is not
// desired, then set the matte channel to opaque.
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
if ((matteFlag_ && !constImage()->matte) ||
(constImage()->matte && !matteFlag_))
- SetImageAlpha(image(),OpaqueAlpha);
+ SetImageAlpha(image(),OpaqueAlpha,&exceptionInfo);
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
image()->matte = (MagickBooleanType) matteFlag_;
}
@@ -3779,8 +3812,11 @@
void Magick::Image::strip ( void )
{
modifyImage();
- StripImage( image() );
- throwImageException();
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
+ StripImage( image(), &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
// enabled/disable stroke anti-aliasing
@@ -3898,7 +3934,7 @@
MagickTrue, // orphan
&exceptionInfo);
throwException( exceptionInfo );
- (void) DestroyExceptionInfo( &exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
texture.replaceImage( image );
}
return texture;
diff --git a/MagickCore/animate.c b/MagickCore/animate.c
index 8d0e59a..d5c2a97 100644
--- a/MagickCore/animate.c
+++ b/MagickCore/animate.c
@@ -1929,7 +1929,7 @@
/*
Create X image.
*/
- (void) TransformImageColorspace(image_list[scene],RGBColorspace);
+ (void) TransformImageColorspace(image_list[scene],RGBColorspace,exception);
windows->image.pixmap=(Pixmap) NULL;
windows->image.matte_pixmap=(Pixmap) NULL;
if ((resource_info->map_type != (char *) NULL) ||
diff --git a/MagickCore/annotate.c b/MagickCore/annotate.c
index 2cc2968..ebc69f3 100644
--- a/MagickCore/annotate.c
+++ b/MagickCore/annotate.c
@@ -1748,7 +1748,7 @@
resolution.y=resolution.x;
}
if (identity == MagickFalse)
- (void) TransformImage(&annotate_image,"0x0",(char *) NULL);
+ (void) TransformImage(&annotate_image,"0x0",(char *) NULL,exception);
else
{
RectangleInfo
@@ -1762,7 +1762,7 @@
(void) FormatLocaleString(geometry,MaxTextExtent,
"%.20gx%.20g%+.20g%+.20g",(double) crop_info.width,(double)
crop_info.height,(double) crop_info.x,(double) crop_info.y);
- (void) TransformImage(&annotate_image,geometry,(char *) NULL);
+ (void) TransformImage(&annotate_image,geometry,(char *) NULL,exception);
}
metrics->pixels_per_em.x=(resolution.y/DefaultResolution)*
ExpandAffine(&draw_info->affine)*draw_info->pointsize;
@@ -1835,7 +1835,7 @@
annotate_view=DestroyCacheView(annotate_view);
(void) CompositeImage(image,OverCompositeOp,annotate_image,
(ssize_t) ceil(offset->x-0.5),(ssize_t) ceil(offset->y-(metrics->ascent+
- metrics->descent)-0.5));
+ metrics->descent)-0.5),exception);
}
annotate_image=DestroyImage(annotate_image);
return(MagickTrue);
diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c
index 9b477f6..ee31e69 100644
--- a/MagickCore/colorspace.c
+++ b/MagickCore/colorspace.c
@@ -226,7 +226,7 @@
break;
default:
{
- (void) TransformImageColorspace(image,image->colorspace);
+ (void) TransformImageColorspace(image,image->colorspace,exception);
break;
}
}
@@ -1214,7 +1214,7 @@
% The format of the TransformImageColorspace method is:
%
% MagickBooleanType TransformImageColorspace(Image *image,
-% const ColorspaceType colorspace)
+% const ColorspaceType colorspace,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -1222,9 +1222,11 @@
%
% o colorspace: the colorspace.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
MagickExport MagickBooleanType TransformImageColorspace(Image *image,
- const ColorspaceType colorspace)
+ const ColorspaceType colorspace,ExceptionInfo *exception)
{
MagickBooleanType
status;
@@ -1234,7 +1236,7 @@
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
if (colorspace == UndefinedColorspace)
- return(SetImageColorspace(image,colorspace,&image->exception));
+ return(SetImageColorspace(image,colorspace,exception));
if (image->colorspace == colorspace)
return(MagickTrue);
if ((colorspace == RGBColorspace) || (colorspace == TransparentColorspace))
diff --git a/MagickCore/colorspace.h b/MagickCore/colorspace.h
index 22cf4a0..fdc9981 100644
--- a/MagickCore/colorspace.h
+++ b/MagickCore/colorspace.h
@@ -52,7 +52,7 @@
extern MagickExport MagickBooleanType
RGBTransformImage(Image *,const ColorspaceType),
SetImageColorspace(Image *,const ColorspaceType,ExceptionInfo *),
- TransformImageColorspace(Image *,const ColorspaceType),
+ TransformImageColorspace(Image *,const ColorspaceType,ExceptionInfo *),
TransformRGBImage(Image *,const ColorspaceType);
#if defined(__cplusplus) || defined(c_plusplus)
diff --git a/MagickCore/compare.c b/MagickCore/compare.c
index dc9f623..cea2647 100644
--- a/MagickCore/compare.c
+++ b/MagickCore/compare.c
@@ -265,7 +265,8 @@
highlight_view=DestroyCacheView(highlight_view);
reconstruct_view=DestroyCacheView(reconstruct_view);
image_view=DestroyCacheView(image_view);
- (void) CompositeImage(difference_image,image->compose,highlight_image,0,0);
+ (void) CompositeImage(difference_image,image->compose,highlight_image,0,0,
+ exception);
highlight_image=DestroyImage(highlight_image);
if (status == MagickFalse)
difference_image=DestroyImage(difference_image);
diff --git a/MagickCore/composite.c b/MagickCore/composite.c
index b893c51..77f153f 100644
--- a/MagickCore/composite.c
+++ b/MagickCore/composite.c
@@ -93,7 +93,7 @@
%
% MagickBooleanType CompositeImage(Image *image,
% const CompositeOperator compose,Image *composite_image,
-% const ssize_t x_offset,const ssize_t y_offset)
+% const ssize_t x_offset,const ssize_t y_offset,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -130,6 +130,8 @@
%
% Previous to IM v6.5.3-3 this was called "modify-outside-overlay"
%
+% o exception: return any errors or warnings in this structure.
+%
*/
static inline double MagickMin(const double x,const double y)
@@ -1545,7 +1547,7 @@
MagickExport MagickBooleanType CompositeImage(Image *image,
const CompositeOperator compose,const Image *composite_image,
- const ssize_t x_offset,const ssize_t y_offset)
+ const ssize_t x_offset,const ssize_t y_offset,ExceptionInfo *exception)
{
#define CompositeImageTag "Composite/Image"
@@ -1559,9 +1561,6 @@
double
sans;
- ExceptionInfo
- *exception;
-
GeometryInfo
geometry_info;
@@ -1602,7 +1601,6 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
assert(composite_image != (Image *) NULL);
assert(composite_image->signature == MagickSignature);
- exception=(&image->exception);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
GetPixelInfo(image,&zero);
@@ -2738,7 +2736,8 @@
%
% The format of the TextureImage method is:
%
-% MagickBooleanType TextureImage(Image *image,const Image *texture)
+% MagickBooleanType TextureImage(Image *image,const Image *texture,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -2747,7 +2746,8 @@
% o texture: This image is the texture to layer on the background.
%
*/
-MagickExport MagickBooleanType TextureImage(Image *image,const Image *texture)
+MagickExport MagickBooleanType TextureImage(Image *image,const Image *texture,
+ ExceptionInfo *exception)
{
#define TextureImageTag "Texture/Image"
@@ -2755,9 +2755,6 @@
*image_view,
*texture_view;
- ExceptionInfo
- *exception;
-
MagickBooleanType
status;
@@ -2771,7 +2768,6 @@
if (texture == (const Image *) NULL)
return(MagickFalse);
(void) SetImageVirtualPixelMethod(texture,TileVirtualPixelMethod);
- exception=(&image->exception);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
status=MagickTrue;
@@ -2798,7 +2794,7 @@
thread_status;
thread_status=CompositeImage(image,image->compose,texture,x+
- texture->tile_offset.x,y+texture->tile_offset.y);
+ texture->tile_offset.x,y+texture->tile_offset.y,exception);
if (thread_status == MagickFalse)
{
status=thread_status;
diff --git a/MagickCore/composite.h b/MagickCore/composite.h
index 19dea37..a3ffabe 100644
--- a/MagickCore/composite.h
+++ b/MagickCore/composite.h
@@ -96,8 +96,8 @@
extern MagickExport MagickBooleanType
CompositeImage(Image *,const CompositeOperator,const Image *,const ssize_t,
- const ssize_t),
- TextureImage(Image *,const Image *);
+ const ssize_t,ExceptionInfo *),
+ TextureImage(Image *,const Image *,ExceptionInfo *);
#if defined(__cplusplus) || defined(c_plusplus)
}
diff --git a/MagickCore/decorate.c b/MagickCore/decorate.c
index ea9d68d..03582b1 100644
--- a/MagickCore/decorate.c
+++ b/MagickCore/decorate.c
@@ -600,7 +600,7 @@
frame_info->inner_bevel);
y=(ssize_t) (frame_info->outer_bevel+(frame_info->y-bevel_width)+
frame_info->inner_bevel);
- (void) CompositeImage(frame_image,compose,image,x,y);
+ (void) CompositeImage(frame_image,compose,image,x,y,exception);
}
return(frame_image);
}
diff --git a/MagickCore/display.c b/MagickCore/display.c
index fb71902..cca29f2 100644
--- a/MagickCore/display.c
+++ b/MagickCore/display.c
@@ -4358,7 +4358,7 @@
Composite image with X Image window.
*/
(void) CompositeImage(image,compose,composite_image,composite_info.x,
- composite_info.y);
+ composite_info.y,exception);
composite_image=DestroyImage(composite_image);
XSetCursorState(display,windows,MagickFalse);
/*
@@ -6483,10 +6483,11 @@
windows->image.window_changes.height=(int) cache_image->rows;
(void) FormatLocaleString(image_geometry,MaxTextExtent,"%dx%d!",
windows->image.ximage->width,windows->image.ximage->height);
- (void) TransformImage(image,windows->image.crop_geometry,image_geometry);
+ (void) TransformImage(image,windows->image.crop_geometry,image_geometry,
+ exception);
if (windows->image.crop_geometry != (char *) NULL)
- windows->image.crop_geometry=(char *)
- RelinquishMagickMemory(windows->image.crop_geometry);
+ windows->image.crop_geometry=(char *) RelinquishMagickMemory(
+ windows->image.crop_geometry);
windows->image.crop_geometry=cache_image->geometry;
if (redo_image != (Image *) NULL)
redo_image=DestroyImage(redo_image);
@@ -7446,10 +7447,11 @@
*/
(void) FormatLocaleString(image_geometry,MaxTextExtent,"%dx%d!",
windows->image.ximage->width,windows->image.ximage->height);
- (void) TransformImage(image,windows->image.crop_geometry,image_geometry);
+ (void) TransformImage(image,windows->image.crop_geometry,image_geometry,
+ exception);
if (windows->image.crop_geometry != (char *) NULL)
- windows->image.crop_geometry=(char *)
- RelinquishMagickMemory(windows->image.crop_geometry);
+ windows->image.crop_geometry=(char *) RelinquishMagickMemory(
+ windows->image.crop_geometry);
windows->image.x=0;
windows->image.y=0;
XConfigureImageColormap(display,resource_info,windows,*image);
@@ -8306,7 +8308,7 @@
XSetCursorState(display,windows,MagickTrue);
XCheckRefreshWindows(display,windows);
threshold=SiPrefixToDouble(factor,QuantumRange);
- (void) BilevelImage(*image,threshold);
+ (void) BilevelImage(*image,threshold,exception);
XSetCursorState(display,windows,MagickFalse);
if (windows->image.orphan != MagickFalse)
break;
@@ -10921,7 +10923,8 @@
/*
Paste image with X Image window.
*/
- (void) CompositeImage(image,compose,paste_image,paste_info.x,paste_info.y);
+ (void) CompositeImage(image,compose,paste_image,paste_info.x,paste_info.y,
+ exception);
paste_image=DestroyImage(paste_image);
XSetCursorState(display,windows,MagickFalse);
/*
@@ -11004,7 +11007,8 @@
return(MagickFalse);
(void) FormatLocaleString(geometry,MaxTextExtent,"%dx%d!",
windows->image.ximage->width,windows->image.ximage->height);
- (void) TransformImage(&print_image,windows->image.crop_geometry,geometry);
+ (void) TransformImage(&print_image,windows->image.crop_geometry,geometry,
+ exception);
/*
Print image.
*/
@@ -11654,7 +11658,7 @@
SaveToUndoBufferCommand,image,exception);
windows->image.orphan=MagickFalse;
(void) CompositeImage(*image,CopyCompositeOp,roi_image,
- crop_info.x,crop_info.y);
+ crop_info.x,crop_info.y,exception);
roi_image=DestroyImage(roi_image);
(void) SetImageProgressMonitor(*image,progress_monitor,
(*image)->client_data);
@@ -12623,7 +12627,8 @@
return(MagickFalse);
(void) FormatLocaleString(geometry,MaxTextExtent,"%dx%d!",
windows->image.ximage->width,windows->image.ximage->height);
- (void) TransformImage(&save_image,windows->image.crop_geometry,geometry);
+ (void) TransformImage(&save_image,windows->image.crop_geometry,geometry,
+ exception);
/*
Write image.
*/
diff --git a/MagickCore/distort.c b/MagickCore/distort.c
index 6ab3fa9..5aa50d4 100644
--- a/MagickCore/distort.c
+++ b/MagickCore/distort.c
@@ -1474,7 +1474,7 @@
distort alpha channel separately
*/
channel_mask=SetPixelChannelMask(tmp_image,AlphaChannel);
- (void) SeparateImage(tmp_image);
+ (void) SeparateImage(tmp_image,exception);
SetPixelChannelMap(tmp_image,channel_mask);
(void) SetImageAlphaChannel(tmp_image,OpaqueAlphaChannel,exception);
resize_alpha=DistortImage(tmp_image,AffineDistortion,12,distort_args,
@@ -1498,10 +1498,12 @@
return((Image *) NULL);
}
/* replace resize images alpha with the separally distorted alpha */
- (void) SetImageAlphaChannel(resize_image,DeactivateAlphaChannel,exception);
- (void) SetImageAlphaChannel(resize_alpha,DeactivateAlphaChannel,exception);
+ (void) SetImageAlphaChannel(resize_image,DeactivateAlphaChannel,
+ exception);
+ (void) SetImageAlphaChannel(resize_alpha,DeactivateAlphaChannel,
+ exception);
(void) CompositeImage(resize_image,CopyOpacityCompositeOp,resize_alpha,
- 0,0);
+ 0,0,exception);
resize_alpha=DestroyImage(resize_alpha);
}
(void) SetImageVirtualPixelMethod(resize_image,vp_save);
diff --git a/MagickCore/draw.c b/MagickCore/draw.c
index 2b234b2..bf00969 100644
--- a/MagickCore/draw.c
+++ b/MagickCore/draw.c
@@ -4481,13 +4481,14 @@
(void) FormatLocaleString(geometry,MaxTextExtent,"%gx%g!",
primitive_info[1].point.x,primitive_info[1].point.y);
composite_image->filter=image->filter;
- (void) TransformImage(&composite_image,(char *) NULL,geometry);
+ (void) TransformImage(&composite_image,(char *) NULL,geometry,
+ exception);
}
if (composite_image->matte == MagickFalse)
(void) SetImageAlphaChannel(composite_image,OpaqueAlphaChannel,
exception);
if (draw_info->alpha != OpaqueAlpha)
- (void) SetImageAlpha(composite_image,draw_info->alpha);
+ (void) SetImageAlpha(composite_image,draw_info->alpha,exception);
SetGeometry(image,&geometry);
image->gravity=draw_info->gravity;
geometry.x=x;
@@ -4505,7 +4506,7 @@
(void) DrawAffineImage(image,composite_image,&affine);
else
(void) CompositeImage(image,draw_info->compose,composite_image,
- geometry.x,geometry.y);
+ geometry.x,geometry.y,exception);
composite_image=DestroyImage(composite_image);
break;
}
diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index b7757a6..26492ee 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -2615,8 +2615,8 @@
preview_image=CloneImage(thumbnail,0,0,MagickTrue,exception);
if (preview_image == (Image *) NULL)
break;
- (void) BilevelImage(thumbnail,
- (double) (percentage*((MagickRealType) QuantumRange+1.0))/100.0);
+ (void) BilevelImage(thumbnail,(double) (percentage*((MagickRealType)
+ QuantumRange+1.0))/100.0,exception);
(void) FormatLocaleString(label,MaxTextExtent,"threshold %g",
(double) (percentage*((MagickRealType) QuantumRange+1.0))/100.0);
break;
diff --git a/MagickCore/fx.c b/MagickCore/fx.c
index fada341..1752666 100644
--- a/MagickCore/fx.c
+++ b/MagickCore/fx.c
@@ -3980,11 +3980,12 @@
}
picture_image->background_color=image->border_color;
(void) SetImageBackgroundColor(picture_image);
- (void) CompositeImage(picture_image,OverCompositeOp,image,quantum,quantum);
+ (void) CompositeImage(picture_image,OverCompositeOp,image,quantum,quantum,
+ exception);
if (caption_image != (Image *) NULL)
{
(void) CompositeImage(picture_image,OverCompositeOp,caption_image,
- quantum,(ssize_t) (image->rows+3*quantum/2));
+ quantum,(ssize_t) (image->rows+3*quantum/2),exception);
caption_image=DestroyImage(caption_image);
}
(void) QueryColorCompliance("none",AllCompliance,
@@ -4024,7 +4025,7 @@
}
polaroid_image=flop_image;
(void) CompositeImage(polaroid_image,OverCompositeOp,picture_image,
- (ssize_t) (-0.01*picture_image->columns/2.0),0L);
+ (ssize_t) (-0.01*picture_image->columns/2.0),0L,exception);
picture_image=DestroyImage(picture_image);
(void) QueryColorCompliance("none",AllCompliance,
&polaroid_image->background_color,exception);
@@ -4419,14 +4420,15 @@
return((Image *) NULL);
(void) NormalizeImage(dodge_image,exception);
(void) NegateImage(dodge_image,MagickFalse,exception);
- (void) TransformImage(&dodge_image,(char *) NULL,"50%");
+ (void) TransformImage(&dodge_image,(char *) NULL,"50%",exception);
sketch_image=CloneImage(image,0,0,MagickTrue,exception);
if (sketch_image == (Image *) NULL)
{
dodge_image=DestroyImage(dodge_image);
return((Image *) NULL);
}
- (void) CompositeImage(sketch_image,ColorDodgeCompositeOp,dodge_image,0,0);
+ (void) CompositeImage(sketch_image,ColorDodgeCompositeOp,dodge_image,0,0,
+ exception);
dodge_image=DestroyImage(dodge_image);
blend_image=CloneImage(image,0,0,MagickTrue,exception);
if (blend_image == (Image *) NULL)
@@ -4435,7 +4437,8 @@
return((Image *) NULL);
}
(void) SetImageArtifact(blend_image,"compose:args","20x80");
- (void) CompositeImage(sketch_image,BlendCompositeOp,blend_image,0,0);
+ (void) CompositeImage(sketch_image,BlendCompositeOp,blend_image,0,0,
+ exception);
blend_image=DestroyImage(blend_image);
return(sketch_image);
}
@@ -5383,7 +5386,8 @@
return((Image *) NULL);
}
blur_image->matte=MagickFalse;
- (void) CompositeImage(canvas_image,CopyOpacityCompositeOp,blur_image,0,0);
+ (void) CompositeImage(canvas_image,CopyOpacityCompositeOp,blur_image,0,0,
+ exception);
blur_image=DestroyImage(blur_image);
vignette_image=MergeImageLayers(canvas_image,FlattenLayer,exception);
canvas_image=DestroyImage(canvas_image);
diff --git a/MagickCore/image.c b/MagickCore/image.c
index 476668e..bf79a47 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -2256,23 +2256,23 @@
%
% The format of the SeparateImage method is:
%
-% MagickBooleanType SeparateImage(Image *image)
+% MagickBooleanType SeparateImage(Image *image,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
-MagickExport MagickBooleanType SeparateImage(Image *image)
+MagickExport MagickBooleanType SeparateImage(Image *image,
+ ExceptionInfo *exception)
{
#define SeparateImageTag "Separate/Image"
CacheView
*image_view;
- ExceptionInfo
- *exception;
-
MagickBooleanType
status;
@@ -2286,7 +2286,6 @@
assert(image->signature == MagickSignature);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- exception=(&image->exception);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
/*
@@ -2414,7 +2413,7 @@
{
channel_mask=SetPixelChannelMask(separate_image,
(ChannelType) (1 << i));
- (void) SeparateImage(separate_image);
+ (void) SeparateImage(separate_image,exception);
(void) SetPixelChannelMap(separate_image,channel_mask);
AppendImageToList(&images,separate_image);
}
@@ -2547,7 +2546,7 @@
the alpha channel.
*/
channel_mask=SetPixelChannelMask(image,GrayChannel);
- status=SeparateImage(image);
+ status=SeparateImage(image,exception);
(void) SetPixelChannelMask(image,channel_mask);
image->matte=MagickTrue; /* make sure transparency is now on! */
if (alpha_type == ShapeAlphaChannel)
@@ -2568,20 +2567,20 @@
case ExtractAlphaChannel:
{
channel_mask=SetPixelChannelMask(image,AlphaChannel);
- status=SeparateImage(image);
+ status=SeparateImage(image,exception);
(void) SetPixelChannelMask(image,channel_mask);
image->matte=MagickFalse;
break;
}
case OpaqueAlphaChannel:
{
- status=SetImageAlpha(image,OpaqueAlpha);
+ status=SetImageAlpha(image,OpaqueAlpha,exception);
image->matte=MagickTrue;
break;
}
case TransparentAlphaChannel:
{
- status=SetImageAlpha(image,TransparentAlpha);
+ status=SetImageAlpha(image,TransparentAlpha,exception);
image->matte=MagickTrue;
break;
}
@@ -2589,7 +2588,7 @@
{
if (image->matte == MagickFalse)
{
- status=SetImageAlpha(image,OpaqueAlpha);
+ status=SetImageAlpha(image,OpaqueAlpha,exception);
image->matte=MagickTrue;
}
break;
@@ -2709,7 +2708,8 @@
%
% The format of the SetImageColor method is:
%
-% MagickBooleanType SetImageColor(Image *image,const PixelInfo *color)
+% MagickBooleanType SetImageColor(Image *image,const PixelInfo *color,
+% ExeptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -2717,16 +2717,15 @@
%
% o background: the image color.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
MagickExport MagickBooleanType SetImageColor(Image *image,
- const PixelInfo *color)
+ const PixelInfo *color,ExceptionInfo *exception)
{
CacheView
*image_view;
- ExceptionInfo
- *exception;
-
MagickBooleanType
status;
@@ -2743,7 +2742,6 @@
image->fuzz=color->fuzz;
image->depth=color->depth;
status=MagickTrue;
- exception=(&image->exception);
image_view=AcquireCacheView(image);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(dynamic,4) shared(status)
@@ -3377,11 +3375,12 @@
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% SetImageAlphs() sets the alpha levels of the image.
+% SetImageAlpha() sets the alpha levels of the image.
%
% The format of the SetImageAlpha method is:
%
-% MagickBooleanType SetImageAlpha(Image *image,const Quantum alpha)
+% MagickBooleanType SetImageAlpha(Image *image,const Quantum alpha,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -3391,14 +3390,12 @@
% fully transparent.
%
*/
-MagickExport MagickBooleanType SetImageAlpha(Image *image,const Quantum alpha)
+MagickExport MagickBooleanType SetImageAlpha(Image *image,const Quantum alpha,
+ ExceptionInfo *exception)
{
CacheView
*image_view;
- ExceptionInfo
- *exception;
-
MagickBooleanType
status;
@@ -3411,7 +3408,6 @@
assert(image->signature == MagickSignature);
image->matte=alpha != OpaqueAlpha ? MagickTrue : MagickFalse;
status=MagickTrue;
- exception=(&image->exception);
image_view=AcquireCacheView(image);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(dynamic,4) shared(status)
@@ -3506,7 +3502,7 @@
case BilevelType:
{
if (IsImageGray(image,&image->exception) == MagickFalse)
- status=TransformImageColorspace(image,GRAYColorspace);
+ status=TransformImageColorspace(image,GRAYColorspace,exception);
if (IsImageMonochrome(image,&image->exception) == MagickFalse)
{
quantize_info=AcquireQuantizeInfo(image_info);
@@ -3521,14 +3517,14 @@
case GrayscaleType:
{
if (IsImageGray(image,&image->exception) == MagickFalse)
- status=TransformImageColorspace(image,GRAYColorspace);
+ status=TransformImageColorspace(image,GRAYColorspace,exception);
image->matte=MagickFalse;
break;
}
case GrayscaleMatteType:
{
if (IsImageGray(image,&image->exception) == MagickFalse)
- status=TransformImageColorspace(image,GRAYColorspace);
+ status=TransformImageColorspace(image,GRAYColorspace,exception);
if (image->matte == MagickFalse)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
break;
@@ -3536,7 +3532,7 @@
case PaletteType:
{
if (IsRGBColorspace(image->colorspace) == MagickFalse)
- status=TransformImageColorspace(image,RGBColorspace);
+ status=TransformImageColorspace(image,RGBColorspace,exception);
if ((image->storage_class == DirectClass) || (image->colors > 256))
{
quantize_info=AcquireQuantizeInfo(image_info);
@@ -3553,11 +3549,11 @@
channel_mask;
if (IsRGBColorspace(image->colorspace) == MagickFalse)
- status=TransformImageColorspace(image,RGBColorspace);
+ status=TransformImageColorspace(image,RGBColorspace,exception);
if (image->matte == MagickFalse)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
channel_mask=SetPixelChannelMask(image,AlphaChannel);
- (void) BilevelImage(image,(double) QuantumRange/2.0);
+ (void) BilevelImage(image,(double) QuantumRange/2.0,exception);
(void) SetPixelChannelMask(image,channel_mask);
quantize_info=AcquireQuantizeInfo(image_info);
status=QuantizeImage(quantize_info,image,exception);
@@ -3567,7 +3563,7 @@
case PaletteMatteType:
{
if (IsRGBColorspace(image->colorspace) == MagickFalse)
- status=TransformImageColorspace(image,RGBColorspace);
+ status=TransformImageColorspace(image,RGBColorspace,exception);
if (image->matte == MagickFalse)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
quantize_info=AcquireQuantizeInfo(image_info);
@@ -3579,7 +3575,7 @@
case TrueColorType:
{
if (IsRGBColorspace(image->colorspace) == MagickFalse)
- status=TransformImageColorspace(image,RGBColorspace);
+ status=TransformImageColorspace(image,RGBColorspace,exception);
if (image->storage_class != DirectClass)
status=SetImageStorageClass(image,DirectClass,&image->exception);
image->matte=MagickFalse;
@@ -3588,7 +3584,7 @@
case TrueColorMatteType:
{
if (IsRGBColorspace(image->colorspace) == MagickFalse)
- status=TransformImageColorspace(image,RGBColorspace);
+ status=TransformImageColorspace(image,RGBColorspace,exception);
if (image->storage_class != DirectClass)
status=SetImageStorageClass(image,DirectClass,&image->exception);
if (image->matte == MagickFalse)
@@ -3600,8 +3596,8 @@
if (image->colorspace != CMYKColorspace)
{
if (IsRGBColorspace(image->colorspace) == MagickFalse)
- status=TransformImageColorspace(image,RGBColorspace);
- status=TransformImageColorspace(image,CMYKColorspace);
+ status=TransformImageColorspace(image,RGBColorspace,exception);
+ status=TransformImageColorspace(image,CMYKColorspace,exception);
}
if (image->storage_class != DirectClass)
status=SetImageStorageClass(image,DirectClass,&image->exception);
@@ -3613,8 +3609,8 @@
if (image->colorspace != CMYKColorspace)
{
if (IsRGBColorspace(image->colorspace) == MagickFalse)
- status=TransformImageColorspace(image,RGBColorspace);
- status=TransformImageColorspace(image,CMYKColorspace);
+ status=TransformImageColorspace(image,RGBColorspace,exception);
+ status=TransformImageColorspace(image,CMYKColorspace,exception);
}
if (image->storage_class != DirectClass)
status=SetImageStorageClass(image,DirectClass,&image->exception);
@@ -3948,7 +3944,8 @@
x_offset-=SmushXGap(smush_image,image,offset,exception);
y_offset-=geometry.y;
}
- status=CompositeImage(smush_image,OverCompositeOp,image,x_offset,y_offset);
+ status=CompositeImage(smush_image,OverCompositeOp,image,x_offset,y_offset,
+ exception);
proceed=SetImageProgress(image,SmushImageTag,n,number_images);
if (proceed == MagickFalse)
break;
@@ -3989,24 +3986,30 @@
%
% The format of the StripImage method is:
%
-% MagickBooleanType StripImage(Image *image)
+% MagickBooleanType StripImage(Image *image,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
-MagickExport MagickBooleanType StripImage(Image *image)
+MagickExport MagickBooleanType StripImage(Image *image,ExceptionInfo *exception)
{
+ MagickBooleanType
+ status;
+
assert(image != (Image *) NULL);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"...");
+ (void) exception;
DestroyImageProfiles(image);
(void) DeleteImageProperty(image,"comment");
(void) DeleteImageProperty(image,"date:create");
(void) DeleteImageProperty(image,"date:modify");
- (void) SetImageArtifact(image,"png:include-chunk","none,trns,gama");
- return(MagickTrue);
+ status=SetImageArtifact(image,"png:include-chunk","none,trns,gama");
+ return(status);
}
/*
diff --git a/MagickCore/image.h b/MagickCore/image.h
index 3cdc1a8..86e04bd 100644
--- a/MagickCore/image.h
+++ b/MagickCore/image.h
@@ -525,18 +525,18 @@
ListMagickInfo(FILE *,ExceptionInfo *),
ModifyImage(Image **,ExceptionInfo *),
ResetImagePage(Image *,const char *),
- SeparateImage(Image *),
- SetImageAlpha(Image *,const Quantum),
+ SeparateImage(Image *,ExceptionInfo *),
+ SetImageAlpha(Image *,const Quantum,ExceptionInfo *),
SetImageAlphaChannel(Image *,const AlphaChannelType,ExceptionInfo *),
SetImageBackgroundColor(Image *),
SetImageClipMask(Image *,const Image *,ExceptionInfo *),
- SetImageColor(Image *,const PixelInfo *),
+ SetImageColor(Image *,const PixelInfo *,ExceptionInfo *),
SetImageExtent(Image *,const size_t,const size_t,ExceptionInfo *),
SetImageInfo(ImageInfo *,const unsigned int,ExceptionInfo *),
SetImageMask(Image *,const Image *,ExceptionInfo *),
SetImageStorageClass(Image *,const ClassType,ExceptionInfo *),
SetImageType(Image *,const ImageType,ExceptionInfo *),
- StripImage(Image *),
+ StripImage(Image *,ExceptionInfo *),
SyncImage(Image *),
SyncImageSettings(const ImageInfo *,Image *),
SyncImagesSettings(ImageInfo *,Image *);
diff --git a/MagickCore/layer.c b/MagickCore/layer.c
index a9c9a78..92ab7a0 100644
--- a/MagickCore/layer.c
+++ b/MagickCore/layer.c
@@ -280,7 +280,7 @@
*/
dispose_image=CloneImage(coalesce_image,0,0,MagickTrue,exception);
(void) CompositeImage(coalesce_image,CopyCompositeOp,next,next->page.x,
- next->page.y);
+ next->page.y,exception);
next=GetNextImageInList(next);
for ( ; next != (Image *) NULL; next=GetNextImageInList(next))
{
@@ -332,7 +332,8 @@
coalesce_image=GetNextImageInList(coalesce_image);
coalesce_image->matte=MagickTrue;
(void) CompositeImage(coalesce_image,next->matte != MagickFalse ?
- OverCompositeOp : CopyCompositeOp,next,next->page.x,next->page.y);
+ OverCompositeOp : CopyCompositeOp,next,next->page.x,next->page.y,
+ exception);
(void) CloneImageProfiles(coalesce_image,next);
(void) CloneImageProperties(coalesce_image,next);
(void) CloneImageArtifacts(coalesce_image,next);
@@ -425,7 +426,8 @@
return((Image *) NULL);
}
(void) CompositeImage(current_image,curr->matte != MagickFalse ?
- OverCompositeOp : CopyCompositeOp,curr,curr->page.x,curr->page.y);
+ OverCompositeOp : CopyCompositeOp,curr,curr->page.x,curr->page.y,
+ exception);
/*
Handle Background dispose: image is displayed for the delay period.
@@ -796,7 +798,8 @@
image_a->page=next->page;
image_a->page.x=0;
image_a->page.y=0;
- (void) CompositeImage(image_a,CopyCompositeOp,next,next->page.x,next->page.y);
+ (void) CompositeImage(image_a,CopyCompositeOp,next,next->page.x,next->page.y,
+ exception);
/*
Compute the bounding box of changes for the later images
*/
@@ -812,7 +815,7 @@
return((Image *) NULL);
}
(void) CompositeImage(image_a,CopyCompositeOp,next,next->page.x,
- next->page.y);
+ next->page.y,exception);
bounds[i]=CompareImagesBounds(image_b,image_a,method,exception);
image_b=DestroyImage(image_b);
@@ -1500,7 +1503,8 @@
return;
}
(void) CompositeImage(current_image,next->matte != MagickFalse ?
- OverCompositeOp : CopyCompositeOp, next,next->page.x,next->page.y);
+ OverCompositeOp : CopyCompositeOp, next,next->page.x,next->page.y,
+ exception);
/*
At this point the image would be displayed, for the delay period
**
@@ -1543,7 +1547,7 @@
next=GetNextImageInList(next);
if ( next != (Image *) NULL ) {
(void) CompositeImage(next, ChangeMaskCompositeOp,
- dispose_image, -(next->page.x), -(next->page.y) );
+ dispose_image, -(next->page.x), -(next->page.y), exception );
}
}
dispose_image=DestroyImage(dispose_image);
@@ -1747,13 +1751,15 @@
% o exception: return any errors or warnings in this structure.
%
*/
+
static inline void CompositeCanvas(Image *destination,
- const CompositeOperator compose, Image *source,ssize_t x_offset,
- ssize_t y_offset )
+ const CompositeOperator compose,Image *source,ssize_t x_offset,
+ ssize_t y_offset,ExceptionInfo *exception)
{
x_offset+=source->page.x-destination->page.x;
y_offset+=source->page.y-destination->page.y;
- (void) CompositeImage(destination,compose,source,x_offset,y_offset);
+ (void) CompositeImage(destination,compose,source,x_offset,y_offset,
+ exception);
}
MagickExport void CompositeLayers(Image *destination,
@@ -1768,7 +1774,7 @@
assert(exception->signature == MagickSignature);
if (source->debug != MagickFalse || destination->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s - %s",
- source->filename, destination->filename);
+ source->filename, destination->filename);
/*
Overlay single source image over destation image/list
@@ -1776,7 +1782,8 @@
if ( source->previous == (Image *) NULL && source->next == (Image *) NULL )
while ( destination != (Image *) NULL )
{
- CompositeCanvas(destination, compose, source, x_offset, y_offset);
+ CompositeCanvas(destination, compose, source, x_offset, y_offset,
+ exception);
destination=GetNextImageInList(destination);
}
@@ -1792,7 +1799,8 @@
{
Image *dest = CloneImage(destination,0,0,MagickTrue,exception);
- CompositeCanvas(destination, compose, source, x_offset, y_offset);
+ CompositeCanvas(destination, compose, source, x_offset, y_offset,
+ exception);
/* copy source image attributes ? */
if ( source->next != (Image *) NULL )
{
@@ -1807,7 +1815,8 @@
CloneImage(dest,0,0,MagickTrue,exception));
destination=GetLastImageInList(destination);
- CompositeCanvas(destination, compose, source, x_offset, y_offset);
+ CompositeCanvas(destination, compose, source, x_offset, y_offset,
+ exception);
destination->delay = source->delay;
destination->iterations = source->iterations;
source=GetNextImageInList(source);
@@ -1822,7 +1831,8 @@
else
while ( source != (Image *) NULL && destination != (Image *) NULL )
{
- CompositeCanvas(destination, compose, source, x_offset, y_offset);
+ CompositeCanvas(destination, compose, source, x_offset, y_offset,
+ exception);
source=GetNextImageInList(source);
destination=GetNextImageInList(destination);
}
@@ -1881,8 +1891,8 @@
% o exception: return any errors or warnings in this structure.
%
*/
-MagickExport Image *MergeImageLayers(Image *image,
- const ImageLayerMethod method,ExceptionInfo *exception)
+MagickExport Image *MergeImageLayers(Image *image,const ImageLayerMethod method,
+ ExceptionInfo *exception)
{
#define MergeLayersTag "Merge/Layers"
@@ -2017,7 +2027,7 @@
for (scene=0; scene < (ssize_t) number_images; scene++)
{
(void) CompositeImage(canvas,image->compose,image,image->page.x-
- canvas->page.x,image->page.y-canvas->page.y);
+ canvas->page.x,image->page.y-canvas->page.y,exception);
proceed=SetImageProgress(image,MergeLayersTag,(MagickOffsetType) scene,
number_images);
if (proceed == MagickFalse)
diff --git a/MagickCore/montage.c b/MagickCore/montage.c
index 044b5e2..f695ea2 100644
--- a/MagickCore/montage.c
+++ b/MagickCore/montage.c
@@ -679,7 +679,7 @@
progress_monitor=SetImageProgressMonitor(montage,(MagickProgressMonitor)
NULL,montage->client_data);
if (texture != (Image *) NULL)
- (void) TextureImage(montage,texture);
+ (void) TextureImage(montage,texture,exception);
if (montage_info->title != (char *) NULL)
{
char
@@ -822,13 +822,14 @@
shadow_image=ShadowImage(image,80.0,2.0,5,5,exception);
if (shadow_image != (Image *) NULL)
{
- (void) CompositeImage(shadow_image,OverCompositeOp,image,0,0);
+ (void) CompositeImage(shadow_image,OverCompositeOp,image,0,0,
+ exception);
image=DestroyImage(image);
image=shadow_image;
}
}
(void) CompositeImage(montage,image->compose,image,x_offset+x,
- y_offset+y);
+ y_offset+y,exception);
value=GetImageProperty(image,"label",exception);
if (value != (const char *) NULL)
{
diff --git a/MagickCore/morphology.c b/MagickCore/morphology.c
index 414c6c2..6eeb389 100644
--- a/MagickCore/morphology.c
+++ b/MagickCore/morphology.c
@@ -3864,7 +3864,8 @@
/* Preserve the alpha channel of input image - but turned off */
(void) SetImageAlphaChannel(rslt_image, DeactivateAlphaChannel,
exception);
- (void) CompositeImage(rslt_image, CopyOpacityCompositeOp, image, 0, 0);
+ (void) CompositeImage(rslt_image, CopyOpacityCompositeOp, image, 0, 0,
+ exception);
(void) SetImageAlphaChannel(rslt_image, DeactivateAlphaChannel,
exception);
}
@@ -4087,18 +4088,21 @@
case TopHatMorphology:
case BottomHatMorphology:
if ( verbose == MagickTrue )
- (void) FormatLocaleFile(stderr, "\n%s: Difference with original image",
- CommandOptionToMnemonic(MagickMorphologyOptions, method) );
+ (void) FormatLocaleFile(stderr,
+ "\n%s: Difference with original image",CommandOptionToMnemonic(
+ MagickMorphologyOptions, method) );
curr_image->sync=MagickFalse;
- (void) CompositeImage(curr_image,DifferenceCompositeOp,image,0,0);
+ (void) CompositeImage(curr_image,DifferenceCompositeOp,image,0,0,
+ exception);
break;
case EdgeMorphology:
if ( verbose == MagickTrue )
- (void) FormatLocaleFile(stderr, "\n%s: Difference of Dilate and Erode",
- CommandOptionToMnemonic(MagickMorphologyOptions, method) );
+ (void) FormatLocaleFile(stderr,
+ "\n%s: Difference of Dilate and Erode",CommandOptionToMnemonic(
+ MagickMorphologyOptions, method) );
curr_image->sync=MagickFalse;
(void) CompositeImage(curr_image,DifferenceCompositeOp,save_image,0,
- 0);
+ 0,exception);
save_image = DestroyImage(save_image); /* finished with save image */
break;
default:
@@ -4135,7 +4139,8 @@
(void) FormatLocaleFile(stderr, " (compose \"%s\")",
CommandOptionToMnemonic(MagickComposeOptions, rslt_compose) );
rslt_image->sync=MagickFalse;
- (void) CompositeImage(rslt_image, rslt_compose, curr_image, 0, 0);
+ (void) CompositeImage(rslt_image, rslt_compose, curr_image, 0, 0,
+ exception);
curr_image = DestroyImage(curr_image);
curr_image = (Image *) image; /* continue with original image */
}
diff --git a/MagickCore/nt-base.c b/MagickCore/nt-base.c
index 4ba6a9d..b8a088e 100644
--- a/MagickCore/nt-base.c
+++ b/MagickCore/nt-base.c
@@ -216,7 +216,7 @@
if ( bitmap.bmBits == NULL )
bitmap.bmBits = bitmap_bits;
if (IsRGBColorspace(image->colorspace) == MagickFalse)
- TransformImageColorspace(image,RGBColorspace);
+ TransformImageColorspace(image,RGBColorspace,exception);
/*
Extract crop image.
*/
@@ -561,7 +561,7 @@
q=bitmap_bits;
if (bitmap.bmBits == NULL)
bitmap.bmBits=bitmap_bits;
- (void) TransformImageColorspace(image,RGBColorspace);
+ (void) TransformImageColorspace(image,RGBColorspace,exception);
exception=(&image->exception);
for (y=0; y < (ssize_t) image->rows; y++)
{
diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c
index 1a4e8e7..f453eee 100644
--- a/MagickCore/quantize.c
+++ b/MagickCore/quantize.c
@@ -511,12 +511,12 @@
if ((cube_info->quantize_info->colorspace != UndefinedColorspace) &&
(cube_info->quantize_info->colorspace != CMYKColorspace))
(void) TransformImageColorspace((Image *) image,
- cube_info->quantize_info->colorspace);
+ cube_info->quantize_info->colorspace,exception);
else
if ((image->colorspace != GRAYColorspace) &&
(IsRGBColorspace(image->colorspace) == MagickFalse) &&
(image->colorspace != CMYColorspace))
- (void) TransformImageColorspace((Image *) image,RGBColorspace);
+ (void) TransformImageColorspace((Image *) image,RGBColorspace,exception);
if (AcquireImageColormap(image,cube_info->colors,exception) == MagickFalse)
ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed",
image->filename);
@@ -679,7 +679,7 @@
(void) SyncImage(image);
if ((cube_info->quantize_info->colorspace != UndefinedColorspace) &&
(cube_info->quantize_info->colorspace != CMYKColorspace))
- (void) TransformImageColorspace((Image *) image,RGBColorspace);
+ (void) TransformImageColorspace((Image *) image,RGBColorspace,exception);
return(MagickTrue);
}
@@ -797,12 +797,12 @@
if ((cube_info->quantize_info->colorspace != UndefinedColorspace) &&
(cube_info->quantize_info->colorspace != CMYKColorspace))
(void) TransformImageColorspace((Image *) image,
- cube_info->quantize_info->colorspace);
+ cube_info->quantize_info->colorspace,exception);
else
if ((image->colorspace != GRAYColorspace) &&
(image->colorspace != CMYColorspace) &&
(IsRGBColorspace(image->colorspace) == MagickFalse))
- (void) TransformImageColorspace((Image *) image,RGBColorspace);
+ (void) TransformImageColorspace((Image *) image,RGBColorspace,exception);
midpoint.red=(MagickRealType) QuantumRange/2.0;
midpoint.green=(MagickRealType) QuantumRange/2.0;
midpoint.blue=(MagickRealType) QuantumRange/2.0;
@@ -997,7 +997,7 @@
image_view=DestroyCacheView(image_view);
if ((cube_info->quantize_info->colorspace != UndefinedColorspace) &&
(cube_info->quantize_info->colorspace != CMYKColorspace))
- (void) TransformImageColorspace((Image *) image,RGBColorspace);
+ (void) TransformImageColorspace((Image *) image,RGBColorspace,exception);
return(MagickTrue);
}
@@ -3241,7 +3241,7 @@
assert(image != (Image *) NULL);
assert(image->signature == MagickSignature);
if (image->type != GrayscaleType)
- (void) TransformImageColorspace(image,GRAYColorspace);
+ (void) TransformImageColorspace(image,GRAYColorspace,exception);
colormap_index=(ssize_t *) AcquireQuantumMemory(MaxMap+1,
sizeof(*colormap_index));
if (colormap_index == (ssize_t *) NULL)
diff --git a/MagickCore/segment.c b/MagickCore/segment.c
index a56976d..b5e1968 100644
--- a/MagickCore/segment.c
+++ b/MagickCore/segment.c
@@ -1830,7 +1830,7 @@
}
}
if (IsRGBColorspace(colorspace) == MagickFalse)
- (void) TransformImageColorspace(image,colorspace);
+ (void) TransformImageColorspace(image,colorspace,exception);
/*
Initialize histogram.
*/
@@ -1847,7 +1847,7 @@
status=Classify(image,extrema,cluster_threshold,WeightingExponent,verbose,
exception);
if (IsRGBColorspace(colorspace) == MagickFalse)
- (void) TransformImageColorspace(image,colorspace);
+ (void) TransformImageColorspace(image,colorspace,exception);
/*
Relinquish resources.
*/
diff --git a/MagickCore/threshold.c b/MagickCore/threshold.c
index 5cd022b..22690fb 100644
--- a/MagickCore/threshold.c
+++ b/MagickCore/threshold.c
@@ -339,7 +339,8 @@
%
% The format of the BilevelImage method is:
%
-% MagickBooleanType BilevelImage(Image *image,const double threshold)
+% MagickBooleanType BilevelImage(Image *image,const double threshold,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -347,20 +348,20 @@
%
% o threshold: define the threshold values.
%
+% o exception: return any errors or warnings in this structure.
+%
% Aside: You can get the same results as operator using LevelImages()
% with the 'threshold' value for both the black_point and the white_point.
%
*/
-MagickExport MagickBooleanType BilevelImage(Image *image,const double threshold)
+MagickExport MagickBooleanType BilevelImage(Image *image,const double threshold,
+ ExceptionInfo *exception)
{
#define ThresholdImageTag "Threshold/Image"
CacheView
*image_view;
- ExceptionInfo
- *exception;
-
MagickBooleanType
status;
@@ -374,7 +375,6 @@
assert(image->signature == MagickSignature);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- exception=(&image->exception);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
/*
diff --git a/MagickCore/threshold.h b/MagickCore/threshold.h
index c99d4b6..e37e507 100644
--- a/MagickCore/threshold.h
+++ b/MagickCore/threshold.h
@@ -34,7 +34,7 @@
*GetThresholdMap(const char *,ExceptionInfo *);
extern MagickExport MagickBooleanType
- BilevelImage(Image *,const double),
+ BilevelImage(Image *,const double,ExceptionInfo *),
BlackThresholdImage(Image *,const char *,ExceptionInfo *),
ClampImage(Image *,ExceptionInfo *),
ListThresholdMaps(FILE *,ExceptionInfo *),
diff --git a/MagickCore/transform.c b/MagickCore/transform.c
index 745afc4..7f69276 100644
--- a/MagickCore/transform.c
+++ b/MagickCore/transform.c
@@ -1068,7 +1068,7 @@
extent_image->matte=MagickTrue;
(void) SetImageBackgroundColor(extent_image);
(void) CompositeImage(extent_image,image->compose,image,-geometry->x,
- -geometry->y);
+ -geometry->y,exception);
return(extent_image);
}
@@ -1951,7 +1951,7 @@
% The format of the TransformImage method is:
%
% MagickBooleanType TransformImage(Image **image,const char *crop_geometry,
-% const char *image_geometry)
+% const char *image_geometry,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -1963,9 +1963,11 @@
% o image_geometry: An image geometry string. This geometry defines the
% final size of the image.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
MagickExport MagickBooleanType TransformImage(Image **image,
- const char *crop_geometry,const char *image_geometry)
+ const char *crop_geometry,const char *image_geometry,ExceptionInfo *exception)
{
Image
*resize_image,
@@ -1990,9 +1992,9 @@
/*
Crop image to a user specified size.
*/
- crop_image=CropImageToTiles(*image,crop_geometry,&(*image)->exception);
+ crop_image=CropImageToTiles(*image,crop_geometry,exception);
if (crop_image == (Image *) NULL)
- transform_image=CloneImage(*image,0,0,MagickTrue,&(*image)->exception);
+ transform_image=CloneImage(*image,0,0,MagickTrue,exception);
else
{
transform_image=DestroyImage(transform_image);
@@ -2006,14 +2008,13 @@
/*
Scale image to a user specified size.
*/
- flags=ParseRegionGeometry(transform_image,image_geometry,&geometry,
- &(*image)->exception);
+ flags=ParseRegionGeometry(transform_image,image_geometry,&geometry,exception);
(void) flags;
if ((transform_image->columns == geometry.width) &&
(transform_image->rows == geometry.height))
return(MagickTrue);
resize_image=ResizeImage(transform_image,geometry.width,geometry.height,
- transform_image->filter,transform_image->blur,&(*image)->exception);
+ transform_image->filter,transform_image->blur,exception);
if (resize_image == (Image *) NULL)
return(MagickFalse);
transform_image=DestroyImage(transform_image);
@@ -2038,7 +2039,8 @@
% The format of the TransformImage method is:
%
% MagickBooleanType TransformImages(Image **image,
-% const char *crop_geometry,const char *image_geometry)
+% const char *crop_geometry,const char *image_geometry,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -2050,9 +2052,11 @@
% o image_geometry: An image geometry string. This geometry defines the
% final size of the image.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
MagickExport MagickBooleanType TransformImages(Image **images,
- const char *crop_geometry,const char *image_geometry)
+ const char *crop_geometry,const char *image_geometry,ExceptionInfo *exception)
{
Image
*image,
@@ -2070,7 +2074,7 @@
if ((*images)->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
(*images)->filename);
- image_list=ImageListToArray(*images,&(*images)->exception);
+ image_list=ImageListToArray(*images,exception);
if (image_list == (Image **) NULL)
return(MagickFalse);
status=MagickTrue;
@@ -2078,7 +2082,7 @@
for (i=0; image_list[i] != (Image *) NULL; i++)
{
image=image_list[i];
- status|=TransformImage(&image,crop_geometry,image_geometry);
+ status|=TransformImage(&image,crop_geometry,image_geometry,exception);
AppendImageToList(&transform_images,image);
}
*images=transform_images;
diff --git a/MagickCore/transform.h b/MagickCore/transform.h
index 07098aa..260ed34 100644
--- a/MagickCore/transform.h
+++ b/MagickCore/transform.h
@@ -39,8 +39,8 @@
*TrimImage(const Image *,ExceptionInfo *);
extern MagickExport MagickBooleanType
- TransformImage(Image **,const char *,const char *),
- TransformImages(Image **,const char *,const char *);
+ TransformImage(Image **,const char *,const char *,ExceptionInfo *),
+ TransformImages(Image **,const char *,const char *,ExceptionInfo *);
#if defined(__cplusplus) || defined(c_plusplus)
}
diff --git a/MagickCore/xwindow.c b/MagickCore/xwindow.c
index 4a232a8..4649415 100644
--- a/MagickCore/xwindow.c
+++ b/MagickCore/xwindow.c
@@ -214,9 +214,9 @@
static void
XMakeImageLSBFirst(const XResourceInfo *,const XWindowInfo *,Image *,
- XImage *,XImage *),
+ XImage *,XImage *,ExceptionInfo *),
XMakeImageMSBFirst(const XResourceInfo *,const XWindowInfo *,Image *,
- XImage *,XImage *);
+ XImage *,XImage *,ExceptionInfo *);
static Window
XSelectWindow(Display *,RectangleInfo *);
@@ -633,7 +633,8 @@
*/
(void) FormatLocaleString(image_geometry,MaxTextExtent,"%ux%u",
width,height);
- (void) TransformImage(&annotate_image,(char *) NULL,image_geometry);
+ (void) TransformImage(&annotate_image,(char *) NULL,image_geometry,
+ exception);
}
if (annotate_info->degrees != 0.0)
{
@@ -702,7 +703,8 @@
(void) XParseGeometry(annotate_info->geometry,&x,&y,&width,&height);
matte=image->matte;
(void) CompositeImage(image,annotate_image->matte != MagickFalse ?
- OverCompositeOp : CopyCompositeOp,annotate_image,(ssize_t) x,(ssize_t) y);
+ OverCompositeOp : CopyCompositeOp,annotate_image,(ssize_t) x,(ssize_t) y,
+ exception);
image->matte=matte;
annotate_image=DestroyImage(annotate_image);
return(MagickTrue);
@@ -2547,7 +2549,8 @@
*/
(void) FormatLocaleString(image_geometry,MaxTextExtent,"%ux%u",
width,height);
- (void) TransformImage(&draw_image,(char *) NULL,image_geometry);
+ (void) TransformImage(&draw_image,(char *) NULL,image_geometry,
+ exception);
}
if (draw_info->degrees != 0.0)
{
@@ -2638,12 +2641,12 @@
(void) XParseGeometry(draw_info->geometry,&x,&y,&width,&height);
if (draw_info->stencil == TransparentStencil)
(void) CompositeImage(image,CopyOpacityCompositeOp,draw_image,(ssize_t) x,
- (ssize_t) y);
+ (ssize_t) y,exception);
else
{
matte=image->matte;
(void) CompositeImage(image,OverCompositeOp,draw_image,(ssize_t) x,
- (ssize_t) y);
+ (ssize_t) y,exception);
image->matte=matte;
}
draw_image=DestroyImage(draw_image);
@@ -4519,7 +4522,7 @@
if (y_offset < 0)
y_offset=0;
(void) CompositeImage(image,CopyCompositeOp,composite_image,(ssize_t)
- x_offset,(ssize_t) y_offset);
+ x_offset,(ssize_t) y_offset,exception);
}
/*
Relinquish resources.
@@ -4527,8 +4530,8 @@
while (colormap_info != (ColormapInfo *) NULL)
{
next=colormap_info->next;
- colormap_info->colors=(XColor *)
- RelinquishMagickMemory(colormap_info->colors);
+ colormap_info->colors=(XColor *) RelinquishMagickMemory(
+ colormap_info->colors);
colormap_info=(ColormapInfo *) RelinquishMagickMemory(colormap_info);
colormap_info=next;
}
@@ -5778,10 +5781,10 @@
if ((ximage->byte_order == LSBFirst) || ((ximage->format == XYBitmap) &&
(ximage->bitmap_bit_order == LSBFirst)))
XMakeImageLSBFirst(resource_info,window,window->image,ximage,
- matte_image);
+ matte_image,exception);
else
XMakeImageMSBFirst(resource_info,window,window->image,ximage,
- matte_image);
+ matte_image,exception);
}
if (window->matte_image != (XImage *) NULL)
{
@@ -5841,7 +5844,8 @@
%
% The format of the XMakeImageLSBFirst method is:
%
-% void XMakeImageLSBFirst(Display *display,XWindows *windows)
+% void XMakeImageLSBFirst(Display *display,XWindows *windows,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -5857,9 +5861,12 @@
% o matte_image: Specifies a pointer to a XImage structure; returned from
% XCreateImage.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
static void XMakeImageLSBFirst(const XResourceInfo *resource_info,
- const XWindowInfo *window,Image *image,XImage *ximage,XImage *matte_image)
+ const XWindowInfo *window,Image *image,XImage *ximage,XImage *matte_image,
+ ExceptionInfo *exception)
{
CacheView
*canvas_view;
@@ -5925,7 +5932,8 @@
{
canvas=CloneImage(image,0,0,MagickTrue,&image->exception);
if (canvas != (Image *) NULL)
- (void) CompositeImage(canvas,DstOverCompositeOp,pattern,0,0);
+ (void) CompositeImage(canvas,DstOverCompositeOp,pattern,0,0,
+ exception);
pattern=DestroyImage(pattern);
}
}
@@ -6468,7 +6476,8 @@
%
% The format of the XMakeImageMSBFirst method is:
%
-% XMakeImageMSBFirst(resource_info,window,image,ximage,matte_image)
+% XMakeImageMSBFirst(resource_info,window,image,ximage,matte_image,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -6484,9 +6493,12 @@
% o matte_image: Specifies a pointer to a XImage structure; returned from
% XCreateImage.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
static void XMakeImageMSBFirst(const XResourceInfo *resource_info,
- const XWindowInfo *window,Image *image,XImage *ximage,XImage *matte_image)
+ const XWindowInfo *window,Image *image,XImage *ximage,XImage *matte_image,
+ ExceptionInfo *exception)
{
CacheView
*canvas_view;
@@ -6552,7 +6564,8 @@
{
canvas=CloneImage(image,0,0,MagickTrue,&image->exception);
if (canvas != (Image *) NULL)
- (void) CompositeImage(canvas,DstOverCompositeOp,pattern,0,0);
+ (void) CompositeImage(canvas,DstOverCompositeOp,pattern,0,0,
+ exception);
pattern=DestroyImage(pattern);
}
}
diff --git a/MagickWand/compare.c b/MagickWand/compare.c
index 5e9d778..aef8301 100644
--- a/MagickWand/compare.c
+++ b/MagickWand/compare.c
@@ -971,7 +971,7 @@
else
{
(void) CompositeImage(composite_image,CopyCompositeOp,
- reconstruct_image,offset.x,offset.y);
+ reconstruct_image,offset.x,offset.y,exception);
difference_image=CompareImages(image,composite_image,metric,
&distortion,exception);
if (difference_image != (Image *) NULL)
diff --git a/MagickWand/composite.c b/MagickWand/composite.c
index d7f08f0..00e6c40 100644
--- a/MagickWand/composite.c
+++ b/MagickWand/composite.c
@@ -194,7 +194,7 @@
for (y=0; y < (ssize_t) (*image)->rows; y+=(ssize_t) composite_image->rows)
for (x=0; x < (ssize_t) (*image)->columns; x+=(ssize_t) columns)
status&=CompositeImage(*image,composite_options->compose,
- composite_image,x,y);
+ composite_image,x,y,exception);
GetImageException(*image,exception);
}
else
@@ -217,7 +217,7 @@
Digitally composite image.
*/
status&=CompositeImage(*image,composite_options->compose,
- composite_image,geometry.x,geometry.y);
+ composite_image,geometry.x,geometry.y,exception);
GetImageException(*image,exception);
}
}
@@ -1630,7 +1630,7 @@
RemoveImageStack(composite_image);
RemoveImageStack(images);
(void) TransformImage(&composite_image,(char *) NULL,
- composite_image->geometry);
+ composite_image->geometry,exception);
RemoveImageStack(mask_image);
if (mask_image != (Image *) NULL)
{
@@ -1641,7 +1641,7 @@
Merge Y displacement into X displacement image.
*/
(void) CompositeImage(composite_image,CopyGreenCompositeOp,mask_image,
- 0,0);
+ 0,0,exception);
mask_image=DestroyImage(mask_image);
}
else
diff --git a/MagickWand/magick-image.c b/MagickWand/magick-image.c
index 58d21d1..ad6206d 100644
--- a/MagickWand/magick-image.c
+++ b/MagickWand/magick-image.c
@@ -1796,9 +1796,8 @@
if ((wand->images == (Image *) NULL) ||
(composite_wand->images == (Image *) NULL))
ThrowWandException(WandError,"ContainsNoImages",wand->name);
- status=CompositeImage(wand->images,compose,composite_wand->images,x,y);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
+ status=CompositeImage(wand->images,compose,composite_wand->images,x,y,
+ wand->exception);
return(status);
}
@@ -2879,8 +2878,6 @@
ThrowWandException(WandError,"ContainsNoImages",wand->name);
status=ExportImagePixels(wand->images,x,y,columns,rows,map,
storage,pixels,wand->exception);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
return(status);
}
@@ -7671,9 +7668,6 @@
char
threshold[MaxTextExtent];
- MagickBooleanType
- status;
-
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
if (wand->debug != MagickFalse)
@@ -7681,10 +7675,7 @@
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
(void) FormatLocaleString(threshold,MaxTextExtent,"%gx%g",low,high);
- status=RandomThresholdImage(wand->images,threshold,wand->exception);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
- return(status);
+ return(RandomThresholdImage(wand->images,threshold,wand->exception));
}
/*
@@ -8423,19 +8414,13 @@
*/
WandExport MagickBooleanType MagickSeparateImage(MagickWand *wand)
{
- MagickBooleanType
- status;
-
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
- status=SeparateImage(wand->images);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
- return(status);
+ return(SeparateImage(wand->images,wand->exception));
}
/*
@@ -8799,9 +8784,6 @@
WandExport MagickBooleanType MagickSetImageColor(MagickWand *wand,
const PixelWand *color)
{
- MagickBooleanType
- status;
-
PixelInfo
pixel;
@@ -8810,10 +8792,7 @@
if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
PixelGetMagickColor(color,&pixel);
- status=SetImageColor(wand->images,&pixel);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
- return(status);
+ return(SetImageColor(wand->images,&pixel,wand->exception));
}
/*
@@ -9570,7 +9549,7 @@
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
if ((wand->images->matte == MagickFalse) && (matte != MagickFalse))
- (void) SetImageAlpha(wand->images,OpaqueAlpha);
+ (void) SetImageAlpha(wand->images,OpaqueAlpha,wand->exception);
wand->images->matte=matte;
return(MagickTrue);
}
@@ -9651,9 +9630,8 @@
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
- status=SetImageAlpha(wand->images,ClampToQuantum(QuantumRange*alpha));
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
+ status=SetImageAlpha(wand->images,ClampToQuantum(QuantumRange*alpha),
+ wand->exception);
return(status);
}
@@ -11036,19 +11014,13 @@
*/
WandExport MagickBooleanType MagickStripImage(MagickWand *wand)
{
- MagickBooleanType
- status;
-
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
- status=StripImage(wand->images);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
- return(status);
+ return(StripImage(wand->images,wand->exception));
}
/*
@@ -11148,10 +11120,9 @@
texture_image=CloneImage(wand->images,0,0,MagickTrue,wand->exception);
if (texture_image == (Image *) NULL)
return((MagickWand *) NULL);
- status=TextureImage(texture_image,texture_wand->images);
+ status=TextureImage(texture_image,texture_wand->images,wand->exception);
if (status == MagickFalse)
{
- InheritException(wand->exception,&texture_image->exception);
texture_image=DestroyImage(texture_image);
return((MagickWand *) NULL);
}
@@ -11211,9 +11182,7 @@
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
- status=BilevelImage(wand->images,threshold);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
+ status=BilevelImage(wand->images,threshold,wand->exception);
return(status);
}
@@ -11386,10 +11355,9 @@
transform_image=CloneImage(wand->images,0,0,MagickTrue,wand->exception);
if (transform_image == (Image *) NULL)
return((MagickWand *) NULL);
- status=TransformImage(&transform_image,crop,geometry);
+ status=TransformImage(&transform_image,crop,geometry,wand->exception);
if (status == MagickFalse)
{
- InheritException(wand->exception,&transform_image->exception);
transform_image=DestroyImage(transform_image);
return((MagickWand *) NULL);
}
@@ -11434,7 +11402,7 @@
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
- return(TransformImageColorspace(wand->images,colorspace));
+ return(TransformImageColorspace(wand->images,colorspace,wand->exception));
}
/*
@@ -11863,9 +11831,6 @@
char
thresholds[MaxTextExtent];
- MagickBooleanType
- status;
-
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
if (wand->debug != MagickFalse)
@@ -11876,10 +11841,7 @@
QuantumFormat "," QuantumFormat "," QuantumFormat "," QuantumFormat,
PixelGetRedQuantum(threshold),PixelGetGreenQuantum(threshold),
PixelGetBlueQuantum(threshold),PixelGetAlphaQuantum(threshold));
- status=WhiteThresholdImage(wand->images,thresholds,&wand->images->exception);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
- return(status);
+ return(WhiteThresholdImage(wand->images,thresholds,wand->exception));
}
/*
@@ -11935,7 +11897,7 @@
return(MagickFalse);
write_info=CloneImageInfo(wand->image_info);
write_info->adjoin=MagickTrue;
- status=WriteImage(write_info,image,&image->exception);
+ status=WriteImage(write_info,image,wand->exception);
image=DestroyImage(image);
write_info=DestroyImageInfo(write_info);
return(status);
@@ -11989,7 +11951,7 @@
write_info=CloneImageInfo(wand->image_info);
SetImageInfoFile(write_info,file);
write_info->adjoin=MagickTrue;
- status=WriteImage(write_info,image,&image->exception);
+ status=WriteImage(write_info,image,wand->exception);
write_info=DestroyImageInfo(write_info);
image=DestroyImage(image);
return(status);
@@ -12040,8 +12002,6 @@
write_info=CloneImageInfo(wand->image_info);
write_info->adjoin=adjoin;
status=WriteImages(write_info,wand->images,filename,wand->exception);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
write_info=DestroyImageInfo(write_info);
return(status);
}
@@ -12090,7 +12050,5 @@
status=WriteImages(write_info,wand->images,(const char *) NULL,
wand->exception);
write_info=DestroyImageInfo(write_info);
- if (status == MagickFalse)
- InheritException(wand->exception,&wand->images->exception);
return(status);
}
diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c
index 0ba24f5..ae2ddd7 100644
--- a/MagickWand/mogrify.c
+++ b/MagickWand/mogrify.c
@@ -1177,13 +1177,13 @@
(void) SyncImageSettings(mogrify_info,*image);
if (*option == '+')
{
- (void) TransformImageColorspace(*image,RGBColorspace);
+ (void) TransformImageColorspace(*image,RGBColorspace,exception);
InheritException(exception,&(*image)->exception);
break;
}
colorspace=(ColorspaceType) ParseCommandOption(
MagickColorspaceOptions,MagickFalse,argv[i+1]);
- (void) TransformImageColorspace(*image,colorspace);
+ (void) TransformImageColorspace(*image,colorspace,exception);
InheritException(exception,&(*image)->exception);
break;
}
@@ -2455,8 +2455,7 @@
*/
(void) CompositeImage(region_image,region_image->matte !=
MagickFalse ? CopyCompositeOp : OverCompositeOp,*image,
- region_geometry.x,region_geometry.y);
- InheritException(exception,®ion_image->exception);
+ region_geometry.x,region_geometry.y,exception);
*image=DestroyImage(*image);
*image=region_image;
region_image = (Image *) NULL;
@@ -2870,8 +2869,7 @@
Strip image of profiles and comments.
*/
(void) SyncImageSettings(mogrify_info,*image);
- (void) StripImage(*image);
- InheritException(exception,&(*image)->exception);
+ (void) StripImage(*image,exception);
break;
}
if (LocaleCompare("stroke",option+1) == 0)
@@ -2942,7 +2940,7 @@
threshold=(double) QuantumRange/2;
else
threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
- (void) BilevelImage(*image,threshold);
+ (void) BilevelImage(*image,threshold,exception);
InheritException(exception,&(*image)->exception);
break;
}
@@ -3200,8 +3198,7 @@
(void) SyncImageSettings(mogrify_info,*image);
(void) CompositeImage(region_image,region_image->matte !=
MagickFalse ? CopyCompositeOp : OverCompositeOp,*image,
- region_geometry.x,region_geometry.y);
- InheritException(exception,®ion_image->exception);
+ region_geometry.x,region_geometry.y,exception);
*image=DestroyImage(*image);
*image=region_image;
region_image = (Image *) NULL;
@@ -7444,7 +7441,7 @@
break;
}
(void) TransformImage(&composite_image,(char *) NULL,
- composite_image->geometry);
+ composite_image->geometry,exception);
SetGeometry(composite_image,&geometry);
(void) ParseAbsoluteGeometry(composite_image->geometry,&geometry);
GravityAdjustGeometry(image->columns,image->rows,image->gravity,
@@ -7459,7 +7456,7 @@
Merge Y displacement into X displacement image.
*/
(void) CompositeImage(composite_image,CopyGreenCompositeOp,
- mask_image,0,0);
+ mask_image,0,0,exception);
mask_image=DestroyImage(mask_image);
}
else
@@ -7473,7 +7470,7 @@
}
}
(void) CompositeImage(image,image->compose,composite_image,
- geometry.x,geometry.y);
+ geometry.x,geometry.y,exception);
if (mask_image != (Image *) NULL)
mask_image=image->mask=DestroyImage(image->mask);
composite_image=DestroyImage(composite_image);
diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs
index 76553d0..560886d 100644
--- a/PerlMagick/Magick.xs
+++ b/PerlMagick/Magick.xs
@@ -1279,7 +1279,8 @@
break;
}
for ( ; image; image=image->next)
- (void) TransformImageColorspace(image,(ColorspaceType) sp);
+ (void) TransformImageColorspace(image,(ColorspaceType) sp,
+ exception);
break;
}
if (LocaleCompare(attribute,"comment") == 0)
@@ -8269,7 +8270,7 @@
if (compose != DissolveCompositeOp)
(void) SetImageAlpha(composite_image,(Quantum)
SiPrefixToDouble(argument_list[6].string_reference,
- QuantumRange));
+ QuantumRange),exception);
else
{
CacheView
@@ -8299,7 +8300,7 @@
opacity=(Quantum) SiPrefixToDouble(
argument_list[6].string_reference,QuantumRange);
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++)
{
@@ -8364,9 +8365,11 @@
for (x=0; x < (ssize_t) image->columns; x+=(ssize_t) composite_image->columns)
{
if (attribute_flag[8] != 0) /* rotate */
- (void) CompositeImage(image,compose,rotate_image,x,y);
+ (void) CompositeImage(image,compose,rotate_image,x,y,
+ exception);
else
- (void) CompositeImage(image,compose,composite_image,x,y);
+ (void) CompositeImage(image,compose,composite_image,x,y,
+ exception);
}
if (attribute_flag[8] != 0) /* rotate */
rotate_image=DestroyImage(rotate_image);
@@ -8400,7 +8403,7 @@
composite_image=CloneImage(composite_image,0,0,MagickTrue,
&image->exception);
(void) CompositeImage(composite_image,CopyGreenCompositeOp,
- argument_list[10].image_reference,0,0);
+ argument_list[10].image_reference,0,0,exception);
}
else
{
@@ -8425,7 +8428,8 @@
exception);
channel_mask=SetPixelChannelMask(image,channel);
if (attribute_flag[8] == 0) /* no rotate */
- CompositeImage(image,compose,composite_image,geometry.x,geometry.y);
+ CompositeImage(image,compose,composite_image,geometry.x,geometry.y,
+ exception);
else
{
/*
@@ -8435,7 +8439,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);
}
if (attribute_flag[10] != 0) /* mask */
@@ -8784,7 +8789,7 @@
if (attribute_flag[2] != 0)
geometry.y=argument_list[2].integer_reference;
if (image->matte == MagickFalse)
- (void) SetImageAlpha(image,OpaqueAlpha);
+ (void) SetImageAlpha(image,OpaqueAlpha,exception);
(void) GetOneVirtualPixel(image,geometry.x,geometry.y,virtual_pixel,
exception);
target.red=virtual_pixel[RedPixelChannel];
@@ -9026,7 +9031,7 @@
{
if (attribute_flag[0] == 0)
break;
- TextureImage(image,argument_list[0].image_reference);
+ TextureImage(image,argument_list[0].image_reference,exception);
break;
}
case 55: /* Evalute */
@@ -9091,7 +9096,7 @@
threshold=SiPrefixToDouble(argument_list[0].string_reference,
QuantumRange);
channel_mask=SetPixelChannelMask(image,channel);
- (void) BilevelImage(image,threshold);
+ (void) BilevelImage(image,threshold,exception);
(void) SetPixelChannelMask(image,channel_mask);
break;
}
@@ -9150,7 +9155,7 @@
if (attribute_flag[0] != 0)
channel=(ChannelType) argument_list[0].integer_reference;
channel_mask=SetPixelChannelMask(image,channel);
- (void) SeparateImage(image);
+ (void) SeparateImage(image,exception);
(void) SetPixelChannelMask(image,channel_mask);
break;
}
@@ -9738,7 +9743,7 @@
}
case 84: /* Strip */
{
- (void) StripImage(image);
+ (void) StripImage(image,exception);
break;
}
case 85: /* Tint */
@@ -9761,7 +9766,7 @@
if (attribute_flag[0] != 0)
channel=(ChannelType) argument_list[0].integer_reference;
channel_mask=SetPixelChannelMask(image,channel);
- (void) SeparateImage(image);
+ (void) SeparateImage(image,exception);
(void) SetPixelChannelMask(image,channel_mask);
break;
}
@@ -10762,7 +10767,7 @@
if (attribute_flag[0] != 0)
(void) QueryColorCompliance(argument_list[0].string_reference,
AllCompliance,&color,exception);
- (void) SetImageColor(image,&color);
+ (void) SetImageColor(image,&color,exception);
break;
}
case 136: /* Mode */
@@ -10824,7 +10829,7 @@
Composite region.
*/
status=CompositeImage(region_image,CopyCompositeOp,image,
- region_info.x,region_info.y);
+ region_info.x,region_info.y,exception);
(void) status;
(void) CatchImageException(region_image);
image=DestroyImage(image);
@@ -14090,7 +14095,7 @@
clone=CloneImage(image,0,0,MagickTrue,exception);
if ((clone == (Image *) NULL) || (exception->severity >= ErrorException))
goto PerlException;
- TransformImage(&clone,crop_geometry,geometry);
+ TransformImage(&clone,crop_geometry,geometry,exception);
for ( ; clone; clone=clone->next)
{
AddImageToRegistry(sv,clone);
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)
{
/*