From: cristy Date: Sun, 28 Aug 2011 16:32:09 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~7129 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6f9e0d38526c24e02e6207b1d494fa8fad072b9c;p=imagemagick --- diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 131f99aff..d1d624690 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -2230,10 +2230,13 @@ void Magick::Image::wave ( const double amplitude_, const double wavelength_ ) // Write image to file void Magick::Image::write( const std::string &imageSpec_ ) { + ExceptionInfo exceptionInfo; + GetExceptionInfo( &exceptionInfo ); modifyImage(); fileName( imageSpec_ ); - WriteImage( imageInfo(), image() ); - throwImageException(); + WriteImage( imageInfo(), image(), &exceptionInfo ); + throwException( exceptionInfo ); + (void) DestroyExceptionInfo( &exceptionInfo ); } // Write image to in-memory BLOB diff --git a/MagickCore/blob.c b/MagickCore/blob.c index 683dc155c..1e0b5af19 100644 --- a/MagickCore/blob.c +++ b/MagickCore/blob.c @@ -1504,10 +1504,8 @@ MagickExport unsigned char *ImageToBlob(const ImageInfo *image_info, (void) CloseBlob(image); image->blob->exempt=MagickTrue; *image->filename='\0'; - status=WriteImage(blob_info,image); - if ((status == MagickFalse) || (image->blob->length == 0)) - InheritException(exception,&image->exception); - else + status=WriteImage(blob_info,image,exception); + if ((status != MagickFalse) && (image->blob->length != 0)) { *length=image->blob->length; blob=DetachBlob(image->blob); @@ -1540,11 +1538,9 @@ MagickExport unsigned char *ImageToBlob(const ImageInfo *image_info, { (void) FormatLocaleString(image->filename,MaxTextExtent,"%s:%s", image->magick,unique); - status=WriteImage(blob_info,image); + status=WriteImage(blob_info,image,exception); (void) fclose(blob_info->file); - if (status == MagickFalse) - InheritException(exception,&image->exception); - else + if (status != MagickFalse) blob=FileToBlob(image->filename,~0UL,length,exception); } (void) RelinquishUniqueFileResource(unique); @@ -1917,7 +1913,7 @@ MagickExport MagickBooleanType InjectImageBlob(const ImageInfo *image_info, byte_image->blob=CloneBlobInfo((BlobInfo *) NULL); write_info=CloneImageInfo(image_info); SetImageInfoFile(write_info,unique_file); - status=WriteImage(write_info,byte_image); + status=WriteImage(write_info,byte_image,exception); write_info=DestroyImageInfo(write_info); byte_image=DestroyImage(byte_image); (void) fclose(unique_file); diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c index acfba2688..5fd67abe1 100644 --- a/MagickCore/constitute.c +++ b/MagickCore/constitute.c @@ -970,7 +970,8 @@ MagickExport Image *ReadInlineImage(const ImageInfo *image_info, % % The format of the WriteImage method is: % -% MagickBooleanType WriteImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteImage(const ImageInfo *image_info,Image *image, +% ExceptionInfo *exception) % % A description of each parameter follows: % @@ -978,9 +979,11 @@ MagickExport Image *ReadInlineImage(const ImageInfo *image_info, % % o image: the image. % +% o exception: return any errors or warnings in this structure. +% */ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { char filename[MaxTextExtent]; @@ -1023,6 +1026,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, image_info->filename); assert(image != (Image *) NULL); assert(image->signature == MagickSignature); + assert(exception != (ExceptionInfo *) NULL); sans_exception=AcquireExceptionInfo(); write_info=CloneImageInfo(image_info); (void) CopyMagickString(write_info->filename,image->filename,MaxTextExtent); @@ -1033,7 +1037,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, { if (image->clip_mask == (Image *) NULL) { - (void) ThrowMagickException(&image->exception,GetMagickModule(), + (void) ThrowMagickException(exception,GetMagickModule(), OptionError,"NoClipPathDefined","`%s'",image->filename); return(MagickFalse); } @@ -1076,8 +1080,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, (GetNextImageInList(image) == (Image *) NULL) && (IsTaintImage(image) == MagickFalse)) { - delegate_info=GetDelegateInfo(image->magick,write_info->magick, - &image->exception); + delegate_info=GetDelegateInfo(image->magick,write_info->magick,exception); if ((delegate_info != (const DelegateInfo *) NULL) && (GetDelegateMode(delegate_info) == 0) && (IsPathAccessible(image->magick_filename) != MagickFalse)) @@ -1088,7 +1091,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, (void) CopyMagickString(image->filename,image->magick_filename, MaxTextExtent); status=InvokeDelegate(write_info,image,image->magick, - write_info->magick,&image->exception); + write_info->magick,exception); write_info=DestroyImageInfo(write_info); (void) CopyMagickString(image->filename,filename,MaxTextExtent); return(status); @@ -1103,7 +1106,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, filename[MaxTextExtent]; (void) CopyMagickString(filename,image->filename,MaxTextExtent); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); (void) CopyMagickString(image->filename,filename,MaxTextExtent); if (status != MagickFalse) { @@ -1138,8 +1141,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, } else { - delegate_info=GetDelegateInfo((char *) NULL,write_info->magick, - &image->exception); + delegate_info=GetDelegateInfo((char *) NULL,write_info->magick,exception); if (delegate_info != (DelegateInfo *) NULL) { /* @@ -1149,7 +1151,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, if (GetDelegateThreadSupport(delegate_info) == MagickFalse) LockSemaphoreInfo(constitute_semaphore); status=InvokeDelegate(write_info,image,(char *) NULL, - write_info->magick,&image->exception); + write_info->magick,exception); if (GetDelegateThreadSupport(delegate_info) == MagickFalse) UnlockSemaphoreInfo(constitute_semaphore); (void) CopyMagickString(image->filename,filename,MaxTextExtent); @@ -1164,7 +1166,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, { (void) CopyMagickString(write_info->magick,image->magick, MaxTextExtent); - magick_info=GetMagickInfo(write_info->magick,&image->exception); + magick_info=GetMagickInfo(write_info->magick,exception); } if ((magick_info == (const MagickInfo *) NULL) || (GetImageEncoder(magick_info) == (EncodeImageHandler *) NULL)) @@ -1174,14 +1176,14 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, GetPathComponent(image->filename,ExtensionPath,extension); if (*extension != '\0') - magick_info=GetMagickInfo(extension,&image->exception); + magick_info=GetMagickInfo(extension,exception); else - magick_info=GetMagickInfo(image->magick,&image->exception); + magick_info=GetMagickInfo(image->magick,exception); (void) CopyMagickString(image->filename,filename,MaxTextExtent); } if ((magick_info == (const MagickInfo *) NULL) || (GetImageEncoder(magick_info) == (EncodeImageHandler *) NULL)) - (void) ThrowMagickException(&image->exception,GetMagickModule(), + (void) ThrowMagickException(exception,GetMagickModule(), MissingDelegateError,"NoEncodeDelegateForThisImageFormat","`%s'", image->filename); else @@ -1199,16 +1201,16 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, } } if (GetBlobError(image) != MagickFalse) - ThrowFileException(&image->exception,FileOpenError, + ThrowFileException(exception,FileOpenError, "AnErrorHasOccurredWritingToFile",image->filename); if (temporary == MagickTrue) { /* Copy temporary image file to permanent. */ - status=OpenBlob(write_info,image,ReadBinaryBlobMode,&image->exception); + status=OpenBlob(write_info,image,ReadBinaryBlobMode,exception); if (status != MagickFalse) - status=ImageToFile(image,write_info->filename,&image->exception); + status=ImageToFile(image,write_info->filename,exception); (void) CloseBlob(image); (void) RelinquishUniqueFileResource(image->filename); (void) CopyMagickString(image->filename,write_info->filename, @@ -1216,7 +1218,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, } if ((LocaleCompare(write_info->magick,"info") != 0) && (write_info->verbose != MagickFalse)) - (void) IdentifyImage(image,stdout,MagickFalse,&image->exception); + (void) IdentifyImage(image,stdout,MagickFalse,exception); write_info=DestroyImageInfo(write_info); return(status); } @@ -1338,7 +1340,7 @@ MagickExport MagickBooleanType WriteImages(const ImageInfo *image_info, if (number_images != 1) progress_monitor=SetImageProgressMonitor(p,(MagickProgressMonitor) NULL, p->client_data); - status&=WriteImage(write_info,p); + status&=WriteImage(write_info,p,exception); GetImageException(p,exception); if (number_images != 1) (void) SetImageProgressMonitor(p,progress_monitor,p->client_data); diff --git a/MagickCore/constitute.h b/MagickCore/constitute.h index 63268dd22..fa6014f66 100644 --- a/MagickCore/constitute.h +++ b/MagickCore/constitute.h @@ -45,7 +45,7 @@ extern MagickExport Image extern MagickExport MagickBooleanType ConstituteComponentGenesis(void), - WriteImage(const ImageInfo *,Image *), + WriteImage(const ImageInfo *,Image *,ExceptionInfo *), WriteImages(const ImageInfo *,Image *,const char *,ExceptionInfo *); extern MagickExport void diff --git a/MagickCore/delegate.c b/MagickCore/delegate.c index a0884f21b..b9890d490 100644 --- a/MagickCore/delegate.c +++ b/MagickCore/delegate.c @@ -965,7 +965,7 @@ MagickExport MagickBooleanType InvokeDelegate(ImageInfo *image_info, { (void) FormatLocaleString(p->filename,MaxTextExtent,"%s:%s", delegate_info->decode,clone_info->filename); - status=WriteImage(clone_info,p); + status=WriteImage(clone_info,p,exception); if (status == MagickFalse) { (void) RelinquishUniqueFileResource(image_info->unique); diff --git a/MagickCore/display.c b/MagickCore/display.c index e7511c13f..5beed0f87 100644 --- a/MagickCore/display.c +++ b/MagickCore/display.c @@ -5718,7 +5718,7 @@ static MagickBooleanType XDrawEditImage(Display *display, (void) AcquireUniqueFileResource(filename); (void) FormatLocaleString(stipple_image->filename,MaxTextExtent, "xbm:%s",filename); - (void) WriteImage(image_info,stipple_image); + (void) WriteImage(image_info,stipple_image,&(*image)->exception); stipple_image=DestroyImage(stipple_image); image_info=DestroyImageInfo(image_info); status=XReadBitmapFile(display,root_window,filename,&width, @@ -8948,7 +8948,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info, (void) AcquireUniqueFilename(filename); (void) FormatLocaleString((*image)->filename,MaxTextExtent,"launch:%s", filename); - status=WriteImage(image_info,*image); + status=WriteImage(image_info,*image,&(*image)->exception); if (status == MagickFalse) XNoticeWidget(display,windows,"Unable to launch image editor", (char *) NULL); @@ -9027,7 +9027,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info, (void) AcquireUniqueFilename(filename); (void) FormatLocaleString((*image)->filename,MaxTextExtent,"preview:%s", filename); - status=WriteImage(image_info,*image); + status=WriteImage(image_info,*image,&(*image)->exception); (void) CopyMagickString(image_info->filename,filename,MaxTextExtent); preview_image=ReadImage(image_info,&(*image)->exception); (void) RelinquishUniqueFileResource(filename); @@ -9035,7 +9035,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info, break; (void) FormatLocaleString(preview_image->filename,MaxTextExtent,"show:%s", filename); - status=WriteImage(image_info,preview_image); + status=WriteImage(image_info,preview_image,&(*image)->exception); preview_image=DestroyImage(preview_image); if (status == MagickFalse) XNoticeWidget(display,windows,"Unable to show image preview", @@ -9060,7 +9060,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info, (void) AcquireUniqueFilename(filename); (void) FormatLocaleString((*image)->filename,MaxTextExtent,"histogram:%s", filename); - status=WriteImage(image_info,*image); + status=WriteImage(image_info,*image,&(*image)->exception); (void) CopyMagickString(image_info->filename,filename,MaxTextExtent); histogram_image=ReadImage(image_info,&(*image)->exception); (void) RelinquishUniqueFileResource(filename); @@ -9068,7 +9068,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info, break; (void) FormatLocaleString(histogram_image->filename,MaxTextExtent, "show:%s",filename); - status=WriteImage(image_info,histogram_image); + status=WriteImage(image_info,histogram_image,&(*image)->exception); histogram_image=DestroyImage(histogram_image); if (status == MagickFalse) XNoticeWidget(display,windows,"Unable to show histogram", @@ -9099,7 +9099,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info, (void) AcquireUniqueFilename(filename); (void) FormatLocaleString((*image)->filename,MaxTextExtent,"matte:%s", filename); - status=WriteImage(image_info,*image); + status=WriteImage(image_info,*image,&(*image)->exception); (void) CopyMagickString(image_info->filename,filename,MaxTextExtent); matte_image=ReadImage(image_info,&(*image)->exception); (void) RelinquishUniqueFileResource(filename); @@ -9107,7 +9107,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info, break; (void) FormatLocaleString(matte_image->filename,MaxTextExtent,"show:%s", filename); - status=WriteImage(image_info,matte_image); + status=WriteImage(image_info,matte_image,&(*image)->exception); matte_image=DestroyImage(matte_image); if (status == MagickFalse) XNoticeWidget(display,windows,"Unable to show matte", @@ -10919,7 +10919,7 @@ static MagickBooleanType XPrintImage(Display *display, (void) AcquireUniqueFilename(filename); (void) FormatLocaleString(print_image->filename,MaxTextExtent,"print:%s", filename); - status=WriteImage(image_info,print_image); + status=WriteImage(image_info,print_image,&image->exception); (void) RelinquishUniqueFileResource(filename); print_image=DestroyImage(print_image); image_info=DestroyImageInfo(image_info); @@ -12521,7 +12521,7 @@ static MagickBooleanType XSaveImage(Display *display, Write image. */ (void) CopyMagickString(save_image->filename,filename,MaxTextExtent); - status=WriteImage(image_info,save_image); + status=WriteImage(image_info,save_image,&image->exception); if (status != MagickFalse) image->taint=MagickFalse; save_image=DestroyImage(save_image); diff --git a/MagickCore/effect.c b/MagickCore/effect.c index 64c9fe0c2..1362e056d 100644 --- a/MagickCore/effect.c +++ b/MagickCore/effect.c @@ -2727,7 +2727,7 @@ MagickExport Image *PreviewImage(const Image *image,const PreviewType preview, file=close(file)-1; (void) FormatLocaleString(preview_image->filename,MaxTextExtent, "jpeg:%s",filename); - status=WriteImage(preview_info,preview_image); + status=WriteImage(preview_info,preview_image,exception); if (status != MagickFalse) { Image diff --git a/MagickCore/resize.c b/MagickCore/resize.c index 314a762b4..da2df3851 100644 --- a/MagickCore/resize.c +++ b/MagickCore/resize.c @@ -3138,7 +3138,7 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns, */ for (x=0; x < (ssize_t) scale_image->columns; x++) { - for (i=0; i < (ssize_t) GetPixelChannels(image); i++) + for (i=0; i < (ssize_t) GetPixelChannels(scale_image); i++) { traits=GetPixelChannelMapTraits(image,(PixelChannel) i); if (traits == UndefinedPixelTrait) @@ -3157,7 +3157,7 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns, GetPixelChannelMapChannel(image,AlphaPixelChannel)]; gamma=1.0/(fabs((double) alpha) <= MagickEpsilon ? 1.0 : alpha); q[channel]=ClampToQuantum(gamma*scale_scanline[ - GetPixelChannels(scale_image)+channel]); + x*GetPixelChannels(scale_image)+channel]); } q+=GetPixelChannels(scale_image); } diff --git a/MagickCore/stream.c b/MagickCore/stream.c index c24872bb0..d29bc4209 100644 --- a/MagickCore/stream.c +++ b/MagickCore/stream.c @@ -2695,7 +2695,7 @@ MagickExport MagickBooleanType WriteStream(const ImageInfo *image_info, assert(image->signature == MagickSignature); write_info=CloneImageInfo(image_info); write_info->stream=stream; - status=WriteImage(write_info,image); + status=WriteImage(write_info,image,&image->exception); write_info=DestroyImageInfo(write_info); return(status); } diff --git a/MagickWand/display.c b/MagickWand/display.c index 41f8fd470..7c45a47a6 100644 --- a/MagickWand/display.c +++ b/MagickWand/display.c @@ -602,7 +602,8 @@ WandExport MagickBooleanType DisplayImageCommand(ImageInfo *image_info, (void) CopyMagickString(display_image->filename, resource_info.write_filename,MaxTextExtent); (void) SetImageInfo(image_info,1,&display_image->exception); - status&=WriteImage(image_info,display_image); + status&=WriteImage(image_info,display_image, + &display_image->exception); GetImageException(display_image,exception); } /* diff --git a/MagickWand/magick-image.c b/MagickWand/magick-image.c index 48a9b8e3f..57fb05306 100644 --- a/MagickWand/magick-image.c +++ b/MagickWand/magick-image.c @@ -11877,9 +11877,7 @@ WandExport MagickBooleanType MagickWriteImage(MagickWand *wand, return(MagickFalse); write_info=CloneImageInfo(wand->image_info); write_info->adjoin=MagickTrue; - status=WriteImage(write_info,image); - if (status == MagickFalse) - InheritException(wand->exception,&image->exception); + status=WriteImage(write_info,image,&image->exception); image=DestroyImage(image); write_info=DestroyImageInfo(write_info); return(status); @@ -11933,10 +11931,8 @@ WandExport MagickBooleanType MagickWriteImageFile(MagickWand *wand,FILE *file) write_info=CloneImageInfo(wand->image_info); SetImageInfoFile(write_info,file); write_info->adjoin=MagickTrue; - status=WriteImage(write_info,image); + status=WriteImage(write_info,image,&image->exception); write_info=DestroyImageInfo(write_info); - if (status == MagickFalse) - InheritException(wand->exception,&image->exception); image=DestroyImage(image); return(status); } diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs index 833a247b4..addb658b8 100644 --- a/PerlMagick/Magick.xs +++ b/PerlMagick/Magick.xs @@ -9747,7 +9747,7 @@ Mogrify(ref,...) (argument_list[2].integer_reference != 0)) (void) SetImageArtifact(image,"identify:unique","true"); (void) IdentifyImage(image,argument_list[0].file_reference, - MagickTrue); + MagickTrue,exception); break; } case 91: /* SepiaTone */ @@ -14063,10 +14063,7 @@ Write(ref,...) GetImageListLength(image),&image->exception); for (next=image; next; next=next->next) { - (void) WriteImage(package_info->image_info,next); - if (next->exception.severity >= ErrorException) - InheritException(exception,&next->exception); - GetImageException(next,exception); + (void) WriteImage(package_info->image_info,next,exception); number_images++; if (package_info->image_info->adjoin) break; diff --git a/coders/clip.c b/coders/clip.c index 93a87806b..294bb340f 100644 --- a/coders/clip.c +++ b/coders/clip.c @@ -172,7 +172,7 @@ static MagickBooleanType WriteCLIPImage(const ImageInfo *image_info, if (LocaleCompare(write_info->magick,"CLIP") == 0) (void) FormatLocaleString(clip_image->filename,MaxTextExtent,"miff:%s", write_info->filename); - status=WriteImage(write_info,clip_image); + status=WriteImage(write_info,clip_image,&image->exception); clip_image=DestroyImage(clip_image); write_info=DestroyImageInfo(write_info); return(status); diff --git a/coders/histogram.c b/coders/histogram.c index 619d80e7a..4d2763592 100644 --- a/coders/histogram.c +++ b/coders/histogram.c @@ -384,7 +384,7 @@ static MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, if (LocaleCompare(write_info->magick,"HISTOGRAM") == 0) (void) FormatLocaleString(histogram_image->filename,MaxTextExtent, "miff:%s",write_info->filename); - status=WriteImage(write_info,histogram_image); + status=WriteImage(write_info,histogram_image,&image->exception); histogram_image=DestroyImage(histogram_image); write_info=DestroyImageInfo(write_info); return(status); diff --git a/coders/html.c b/coders/html.c index 434cc39bf..71114675c 100644 --- a/coders/html.c +++ b/coders/html.c @@ -384,7 +384,7 @@ static MagickBooleanType WriteHTMLImage(const ImageInfo *image_info, next=GetNextImageInList(image); image->next=NewImageList(); (void) CopyMagickString(image->magick,"PNG",MaxTextExtent); - (void) WriteImage(write_info,image); + (void) WriteImage(write_info,image,&image->exception); image->next=next; /* Determine image map filename. diff --git a/coders/matte.c b/coders/matte.c index 43da96369..2df9a7e14 100644 --- a/coders/matte.c +++ b/coders/matte.c @@ -211,7 +211,7 @@ static MagickBooleanType WriteMATTEImage(const ImageInfo *image_info, } (void) FormatLocaleString(matte_image->filename,MaxTextExtent, "MIFF:%s",image->filename); - status=WriteImage(image_info,matte_image); + status=WriteImage(image_info,matte_image,exception); matte_image=DestroyImage(matte_image); return(status); } diff --git a/coders/mpeg.c b/coders/mpeg.c index c42bd2ece..c733d262f 100644 --- a/coders/mpeg.c +++ b/coders/mpeg.c @@ -547,7 +547,7 @@ static MagickBooleanType WriteMPEGImage(const ImageInfo *image_info, frame=CloneImage(p,0,0,MagickTrue,&p->exception); if (frame == (Image *) NULL) break; - status=WriteImage(write_info,frame); + status=WriteImage(write_info,frame,&image->exception); frame=DestroyImage(frame); break; } diff --git a/coders/msl.c b/coders/msl.c index 3e532587a..0a970d139 100644 --- a/coders/msl.c +++ b/coders/msl.c @@ -7199,7 +7199,8 @@ static void MSLStartElement(void *context,const xmlChar *tag, /* process */ { - (void) WriteImage(msl_info->image_info[n], msl_info->image[n]); + (void) WriteImage(msl_info->image_info[n], msl_info->image[n], + &msl_info->image[n]->exception); break; } } diff --git a/coders/preview.c b/coders/preview.c index ce36a442b..8c93bf5ac 100644 --- a/coders/preview.c +++ b/coders/preview.c @@ -191,7 +191,7 @@ static MagickBooleanType WritePreviewImage(const ImageInfo *image_info, if (LocaleCompare(write_info->magick,"PREVIEW") == 0) (void) FormatLocaleString(preview_image->filename,MaxTextExtent, "miff:%s",image_info->filename); - status=WriteImage(write_info,preview_image); + status=WriteImage(write_info,preview_image,&image->exception); preview_image=DestroyImage(preview_image); write_info=DestroyImageInfo(write_info); return(status); diff --git a/coders/thumbnail.c b/coders/thumbnail.c index 7139de987..e970f6b66 100644 --- a/coders/thumbnail.c +++ b/coders/thumbnail.c @@ -211,7 +211,7 @@ static MagickBooleanType WriteTHUMBNAILImage(const ImageInfo *image_info, if (LocaleCompare(write_info->magick,"THUMBNAIL") == 0) (void) FormatLocaleString(thumbnail_image->filename,MaxTextExtent, "miff:%s",write_info->filename); - status=WriteImage(write_info,thumbnail_image); + status=WriteImage(write_info,thumbnail_image,&image->exception); thumbnail_image=DestroyImage(thumbnail_image); write_info=DestroyImageInfo(write_info); return(status); diff --git a/coders/vid.c b/coders/vid.c index 4ff9c7c82..b3ebb2d19 100644 --- a/coders/vid.c +++ b/coders/vid.c @@ -335,7 +335,7 @@ static MagickBooleanType WriteVIDImage(const ImageInfo *image_info,Image *image) if (LocaleCompare(write_info->magick,"VID") == 0) (void) FormatLocaleString(montage_image->filename,MaxTextExtent, "miff:%s",write_info->filename); - status=WriteImage(write_info,montage_image); + status=WriteImage(write_info,montage_image,&image->exception); montage_image=DestroyImage(montage_image); write_info=DestroyImageInfo(write_info); return(status); diff --git a/tests/validate.c b/tests/validate.c index 4783cc7b5..684e9f5f0 100644 --- a/tests/validate.c +++ b/tests/validate.c @@ -544,8 +544,7 @@ static size_t ValidateImageFormatsInMemory(ImageInfo *image_info, continue; } reference_image->compression=reference_formats[i].compression; - status=WriteImage(image_info,reference_image); - InheritException(exception,&reference_image->exception); + status=WriteImage(image_info,reference_image,exception); reference_image=DestroyImage(reference_image); if (status == MagickFalse) { @@ -763,8 +762,7 @@ static size_t ValidateImageFormatsOnDisk(ImageInfo *image_info, continue; } reference_image->compression=reference_formats[i].compression; - status=WriteImage(image_info,reference_image); - InheritException(exception,&reference_image->exception); + status=WriteImage(image_info,reference_image,exception); reference_image=DestroyImage(reference_image); if (status == MagickFalse) { @@ -793,8 +791,7 @@ static size_t ValidateImageFormatsOnDisk(ImageInfo *image_info, reference_formats[i].magick,output_filename); reference_image->depth=reference_types[j].depth; reference_image->compression=reference_formats[i].compression; - status=WriteImage(image_info,reference_image); - InheritException(exception,&reference_image->exception); + status=WriteImage(image_info,reference_image,exception); if (status == MagickFalse) { (void) FormatLocaleFile(stdout,"... fail @ %s/%s/%lu.\n", @@ -1442,8 +1439,7 @@ int main(int argc,char **argv) (void) AcquireUniqueFilename(output_filename); (void) CopyMagickString(reference_image->filename,reference_filename, MaxTextExtent); - status=WriteImage(image_info,reference_image); - InheritException(exception,&reference_image->exception); + status=WriteImage(image_info,reference_image,exception); reference_image=DestroyImage(reference_image); if (status == MagickFalse) fail++;