diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 96fea80..70978e6 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp
@@ -1208,9 +1208,12 @@ // Apply a color lookup table (Hald CLUT) to the image. void Magick::Image::haldClut ( const Image &clutImage_ ) { + ExceptionInfo exceptionInfo; + GetExceptionInfo( &exceptionInfo ); modifyImage(); - (void) HaldClutImage( image(), clutImage_.constImage() ); - throwImageException(); + (void) HaldClutImage( image(), clutImage_.constImage(), &exceptionInfo ); + throwException( exceptionInfo ); + (void) DestroyExceptionInfo( &exceptionInfo ); } // Implode image
diff --git a/MagickCore/effect.c b/MagickCore/effect.c index bfbfa0c..5cd7bbd 100644 --- a/MagickCore/effect.c +++ b/MagickCore/effect.c
@@ -128,6 +128,9 @@ gamma, white_point; + ExceptionInfo + *exception; + GeometryInfo geometry_info; @@ -142,6 +145,7 @@ */ if (levels == (char *) NULL) return(MagickFalse); + exception=(&image->exception); flags=ParseGeometry(levels,&geometry_info); black_point=geometry_info.rho; white_point=(double) QuantumRange; @@ -158,9 +162,9 @@ if ((flags & SigmaValue) == 0) white_point=(double) QuantumRange-black_point; if ((flags & AspectValue ) == 0) - status=LevelImage(image,black_point,white_point,gamma,&image->exception); + status=LevelImage(image,black_point,white_point,gamma,exception); else - status=LevelizeImage(image,black_point,white_point,gamma); + status=LevelizeImage(image,black_point,white_point,gamma,exception); return(status); }
diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c index 78605e0..67242f4 100644 --- a/MagickCore/enhance.c +++ b/MagickCore/enhance.c
@@ -387,12 +387,9 @@ continue; channel=GetPixelChannelMapChannel(clut_image,(PixelChannel) i); traits=GetPixelChannelMapTraits(clut_image,channel); - if (traits == UndefinedPixelTrait) - continue; - if ((traits & UpdatePixelTrait) == 0) - continue; - q[channel]=ClampToQuantum(clut_map[ScaleQuantumToMap(q[channel])* - GetPixelChannels(clut_image)+channel]); + if ((traits & UpdatePixelTrait) != 0) + q[channel]=ClampToQuantum(clut_map[ScaleQuantumToMap(q[channel])* + GetPixelChannels(clut_image)+channel]); } q+=GetPixelChannels(image); } @@ -1228,9 +1225,7 @@ traits; traits=GetPixelChannelMapTraits(image,(PixelChannel) i); - if ((traits & UpdatePixelTrait) == 0) - continue; - if (black[i] != white[i]) + if (((traits & UpdatePixelTrait) != 0) && (black[i] != white[i])) q[i]=ClampToQuantum(stretch_map[GetPixelChannels(image)* ScaleQuantumToMap(q[i])+i]); } @@ -1684,11 +1679,7 @@ traits; traits=GetPixelChannelMapTraits(image,(PixelChannel) i); - if (traits == UndefinedPixelTrait) - continue; - if ((traits & UpdatePixelTrait) == 0) - continue; - if (black[i] != white[i]) + if (((traits & UpdatePixelTrait) != 0) && (black[i] != white[i])) q[i]=ClampToQuantum(equalize_map[GetPixelChannels(image)* ScaleQuantumToMap(q[i])+i]); } @@ -1899,7 +1890,8 @@ % % The format of the HaldClutImage method is: % -% MagickBooleanType HaldClutImage(Image *image,Image *hald_image) +% MagickBooleanType HaldClutImage(Image *image,Image *hald_image, +% ExceptionInfo *exception) % % A description of each parameter follows: % @@ -1907,6 +1899,8 @@ % % o hald_image: the color lookup table image for replacement color values. % +% o exception: return any errors or warnings in this structure. +% */ static inline size_t MagickMin(const size_t x,const size_t y) @@ -1917,7 +1911,7 @@ } MagickExport MagickBooleanType HaldClutImage(Image *image, - const Image *hald_image) + const Image *hald_image,ExceptionInfo *exception) { #define HaldClutImageTag "Clut/Image" @@ -1936,9 +1930,6 @@ double width; - ExceptionInfo - *exception; - MagickBooleanType status; @@ -1962,7 +1953,6 @@ (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); assert(hald_image != (Image *) NULL); assert(hald_image->signature == MagickSignature); - exception=(&image->exception); if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse) return(MagickFalse); if (image->matte == MagickFalse) @@ -1985,19 +1975,6 @@ #endif for (y=0; y < (ssize_t) image->rows; y++) { - double - offset; - - HaldInfo - point; - - PixelInfo - pixel, - pixel1, - pixel2, - pixel3, - pixel4; - register Quantum *restrict q; @@ -2012,13 +1989,21 @@ status=MagickFalse; continue; } - pixel=zero; - pixel1=zero; - pixel2=zero; - pixel3=zero; - pixel4=zero; for (x=0; x < (ssize_t) image->columns; x++) { + double + offset; + + HaldInfo + point; + + PixelInfo + pixel, + pixel1, + pixel2, + pixel3, + pixel4; + point.x=QuantumScale*(level-1.0)*GetPixelRed(image,q); point.y=QuantumScale*(level-1.0)*GetPixelGreen(image,q); point.z=QuantumScale*(level-1.0)*GetPixelBlue(image,q); @@ -2026,25 +2011,26 @@ point.x-=floor(point.x); point.y-=floor(point.y); point.z-=floor(point.z); - (void) InterpolatePixelInfo(image,hald_view, - UndefinedInterpolatePixel,fmod(offset,width),floor(offset/width), - &pixel1,exception); - (void) InterpolatePixelInfo(image,hald_view, - UndefinedInterpolatePixel,fmod(offset+level,width),floor((offset+level)/ - width),&pixel2,exception); - CompositePixelInfoAreaBlend(&pixel1,pixel1.alpha,&pixel2, - pixel2.alpha,point.y,&pixel3); + pixel1=zero; + (void) InterpolatePixelInfo(image,hald_view,image->interpolate, + fmod(offset,width),floor(offset/width),&pixel1,exception); + pixel2=zero; + (void) InterpolatePixelInfo(image,hald_view,image->interpolate, + fmod(offset+level,width),floor((offset+level)/width),&pixel2,exception); + pixel3=zero; + CompositePixelInfoAreaBlend(&pixel1,pixel1.alpha,&pixel2,pixel2.alpha, + point.y,&pixel3); offset+=cube_size; - (void) InterpolatePixelInfo(image,hald_view, - UndefinedInterpolatePixel,fmod(offset,width),floor(offset/width), - &pixel1,exception); - (void) InterpolatePixelInfo(image,hald_view, - UndefinedInterpolatePixel,fmod(offset+level,width),floor((offset+level)/ - width),&pixel2,exception); - CompositePixelInfoAreaBlend(&pixel1,pixel1.alpha,&pixel2, - pixel2.alpha,point.y,&pixel4); - CompositePixelInfoAreaBlend(&pixel3,pixel3.alpha,&pixel4, - pixel4.alpha,point.z,&pixel); + (void) InterpolatePixelInfo(image,hald_view,image->interpolate, + fmod(offset,width),floor(offset/width),&pixel1,exception); + (void) InterpolatePixelInfo(image,hald_view,image->interpolate, + fmod(offset+level,width),floor((offset+level)/width),&pixel2,exception); + pixel4=zero; + CompositePixelInfoAreaBlend(&pixel1,pixel1.alpha,&pixel2,pixel2.alpha, + point.y,&pixel4); + pixel=zero; + CompositePixelInfoAreaBlend(&pixel3,pixel3.alpha,&pixel4,pixel4.alpha, + point.z,&pixel); if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0) SetPixelRed(image,ClampToQuantum(pixel.red),q); if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0) @@ -2122,9 +2108,8 @@ % o exception: return any errors or warnings in this structure. % */ -MagickExport MagickBooleanType LevelImage(Image *image, - const double black_point,const double white_point,const double gamma, - ExceptionInfo *exception) +MagickExport MagickBooleanType LevelImage(Image *image,const double black_point, + const double white_point,const double gamma,ExceptionInfo *exception) { #define LevelImageTag "Level/Image" #define LevelQuantum(x) (ClampToQuantum((MagickRealType) QuantumRange* \ @@ -2201,18 +2186,21 @@ } for (x=0; x < (ssize_t) image->columns; x++) { - if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0) - SetPixelRed(image,LevelQuantum(GetPixelRed(image,q)),q); - if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0) - SetPixelGreen(image,LevelQuantum(GetPixelGreen(image,q)),q); - if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0) - SetPixelBlue(image,LevelQuantum(GetPixelBlue(image,q)),q); - if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) && - (image->matte == MagickTrue)) - SetPixelAlpha(image,LevelQuantum(GetPixelAlpha(image,q)),q); - if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) && - (image->colorspace == CMYKColorspace)) - SetPixelBlack(image,LevelQuantum(GetPixelBlack(image,q)),q); + register ssize_t + i; + + for (i=0; i < (ssize_t) GetPixelChannels(image); i++) + { + PixelTrait + traits; + + traits=GetPixelChannelMapTraits(image,(PixelChannel) i); + if (traits == UndefinedPixelTrait) + continue; + if ((traits & UpdatePixelTrait) == 0) + continue; + q[i]=LevelQuantum(q[i]); + } q+=GetPixelChannels(image); } if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse) @@ -2261,7 +2249,7 @@ % The format of the LevelizeImage method is: % % MagickBooleanType LevelizeImage(Image *image,const double black_point, -% const double white_point,const double gamma) +% const double white_point,const double gamma,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -2273,9 +2261,12 @@ % % o gamma: adjust gamma by this factor before mapping values. % +% o exception: return any errors or warnings in this structure. +% */ MagickExport MagickBooleanType LevelizeImage(Image *image, - const double black_point,const double white_point,const double gamma) + const double black_point,const double white_point,const double gamma, + ExceptionInfo *exception) { #define LevelizeImageTag "Levelize/Image" #define LevelizeValue(x) (ClampToQuantum(((MagickRealType) \ @@ -2285,9 +2276,6 @@ CacheView *image_view; - ExceptionInfo - *exception; - MagickBooleanType status; @@ -2353,18 +2341,18 @@ } for (x=0; x < (ssize_t) image->columns; x++) { - if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0) - SetPixelRed(image,LevelizeValue(GetPixelRed(image,q)),q); - if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0) - SetPixelGreen(image,LevelizeValue(GetPixelGreen(image,q)),q); - if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0) - SetPixelBlue(image,LevelizeValue(GetPixelBlue(image,q)),q); - if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) && - (image->colorspace == CMYKColorspace)) - SetPixelBlack(image,LevelizeValue(GetPixelBlack(image,q)),q); - if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) && - (image->matte == MagickTrue)) - SetPixelAlpha(image,LevelizeValue(GetPixelAlpha(image,q)),q); + register ssize_t + i; + + for (i=0; i < (ssize_t) GetPixelChannels(image); i++) + { + PixelTrait + traits; + + traits=GetPixelChannelMapTraits(image,(PixelChannel) i); + if ((traits & UpdatePixelTrait) != 0) + q[i]=LevelizeValue(q[i]); + } q+=GetPixelChannels(image); } if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse) @@ -2412,7 +2400,7 @@ % % MagickBooleanType LevelImageColors(Image *image, % const PixelInfo *black_color,const PixelInfo *white_color, -% const MagickBooleanType invert) +% const MagickBooleanType invert,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -2424,10 +2412,12 @@ % % o invert: if true map the colors (levelize), rather than from (level) % +% o exception: return any errors or warnings in this structure. +% */ MagickExport MagickBooleanType LevelImageColors(Image *image, const PixelInfo *black_color,const PixelInfo *white_color, - const MagickBooleanType invert) + const MagickBooleanType invert,ExceptionInfo *exception) { ChannelType channel_mask; @@ -2449,21 +2439,21 @@ { channel_mask=SetPixelChannelMask(image,RedChannel); status|=LevelImage(image,black_color->red,white_color->red,1.0, - &image->exception); + exception); (void) SetPixelChannelMask(image,channel_mask); } if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0) { channel_mask=SetPixelChannelMask(image,GreenChannel); status|=LevelImage(image,black_color->green,white_color->green,1.0, - &image->exception); + exception); (void) SetPixelChannelMask(image,channel_mask); } if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0) { channel_mask=SetPixelChannelMask(image,BlueChannel); status|=LevelImage(image,black_color->blue,white_color->blue,1.0, - &image->exception); + exception); (void) SetPixelChannelMask(image,channel_mask); } if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) && @@ -2471,7 +2461,7 @@ { channel_mask=SetPixelChannelMask(image,BlackChannel); status|=LevelImage(image,black_color->black,white_color->black,1.0, - &image->exception); + exception); (void) SetPixelChannelMask(image,channel_mask); } if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) && @@ -2479,7 +2469,7 @@ { channel_mask=SetPixelChannelMask(image,AlphaChannel); status|=LevelImage(image,black_color->alpha,white_color->alpha,1.0, - &image->exception); + exception); (void) SetPixelChannelMask(image,channel_mask); } } @@ -2488,36 +2478,38 @@ if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0) { channel_mask=SetPixelChannelMask(image,RedChannel); - status|=LevelizeImage(image,black_color->red,white_color->red,1.0); + status|=LevelizeImage(image,black_color->red,white_color->red,1.0, + exception); (void) SetPixelChannelMask(image,channel_mask); } if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0) { channel_mask=SetPixelChannelMask(image,GreenChannel); - status|=LevelizeImage(image,black_color->green,white_color->green, - 1.0); + status|=LevelizeImage(image,black_color->green,white_color->green,1.0, + exception); (void) SetPixelChannelMask(image,channel_mask); } if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0) { channel_mask=SetPixelChannelMask(image,BlueChannel); - status|=LevelizeImage(image,black_color->blue,white_color->blue,1.0); + status|=LevelizeImage(image,black_color->blue,white_color->blue,1.0, + exception); (void) SetPixelChannelMask(image,channel_mask); } if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) && (image->colorspace == CMYKColorspace)) { channel_mask=SetPixelChannelMask(image,BlackChannel); - status|=LevelizeImage(image,black_color->black,white_color->black, - 1.0); + status|=LevelizeImage(image,black_color->black,white_color->black,1.0, + exception); (void) SetPixelChannelMask(image,channel_mask); } if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) && (image->matte == MagickTrue)) { channel_mask=SetPixelChannelMask(image,AlphaChannel); - status|=LevelizeImage(image,black_color->alpha,white_color->alpha, - 1.0); + status|=LevelizeImage(image,black_color->alpha,white_color->alpha,1.0, + exception); (void) SetPixelChannelMask(image,channel_mask); } }
diff --git a/MagickCore/enhance.h b/MagickCore/enhance.h index ecb154d..06e49e7 100644 --- a/MagickCore/enhance.h +++ b/MagickCore/enhance.h
@@ -32,11 +32,11 @@ ContrastStretchImage(Image *,const double,const double,ExceptionInfo *), EqualizeImage(Image *image,ExceptionInfo *), GammaImage(Image *,const double,ExceptionInfo *), - HaldClutImage(Image *,const Image *), + HaldClutImage(Image *,const Image *,ExceptionInfo *), LevelImage(Image *,const double,const double,const double,ExceptionInfo *), - LevelizeImage(Image *,const double,const double,const double), + LevelizeImage(Image *,const double,const double,const double,ExceptionInfo *), LevelImageColors(Image *,const PixelInfo *,const PixelInfo *, - const MagickBooleanType), + const MagickBooleanType,ExceptionInfo *), LinearStretchImage(Image *,const double,const double), ModulateImage(Image *,const char *), NegateImage(Image *,const MagickBooleanType,ExceptionInfo *),
diff --git a/MagickCore/image.c b/MagickCore/image.c index 65ecf6e..b0989f3 100644 --- a/MagickCore/image.c +++ b/MagickCore/image.c
@@ -2628,7 +2628,8 @@ */ GetPixelInfo(image,&background); SetPixelInfoPacket(image,&(image->background_color),&background); - (void) LevelImageColors(image,&background,&background,MagickTrue); + (void) LevelImageColors(image,&background,&background,MagickTrue, + exception); } break; }
diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h index d0dd863..efe979e 100644 --- a/MagickCore/magick-config.h +++ b/MagickCore/magick-config.h
@@ -12,7 +12,9 @@ /* #undef AUTOTRACE_DELEGATE */ /* Define if coders and filters are to be built as modules. */ -/* #undef BUILD_MODULES */ +#ifndef MAGICKCORE_BUILD_MODULES +#define MAGICKCORE_BUILD_MODULES 1 +#endif /* Define if you have the bzip2 library */ #ifndef MAGICKCORE_BZLIB_DELEGATE @@ -78,7 +80,9 @@ #endif /* Define if you have FFTW library */ -/* #undef FFTW_DELEGATE */ +#ifndef MAGICKCORE_FFTW_DELEGATE +#define MAGICKCORE_FFTW_DELEGATE 1 +#endif /* Location of filter modules */ #ifndef MAGICKCORE_FILTER_PATH @@ -1157,9 +1161,6 @@ /* Define if you have umem memory allocation library */ /* #undef HasUMEM */ -/* Define if you have wmflite library */ -/* #undef HasWMFlite */ - /* ImageMagick is formally installed under prefix */ #ifndef MAGICKCORE_INSTALLED_SUPPORT #define MAGICKCORE_INSTALLED_SUPPORT 1 @@ -1207,7 +1208,7 @@ /* Define to the system default library search path. */ #ifndef MAGICKCORE_LT_DLSEARCH_PATH -#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib/llvm:/usr/lib64/llvm:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2" +#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/R/lib:/usr/lib64/alliance/lib:/usr/lib64/atlas:/opt/modules/pkg/intel/f77/10.0.025/lib:/usr/lib64/kicad:/usr/lib/llvm:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mpich2/lib/:/usr/lib64/mysql:/usr/lib64/octave/3.4.2:/usr/lib64/openmotif:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2" #endif /* The archive extension */ @@ -1258,7 +1259,9 @@ /* #undef NO_MINUS_C_MINUS_O */ /* Define if you have OPENEXR library */ -/* #undef OPENEXR_DELEGATE */ +#ifndef MAGICKCORE_OPENEXR_DELEGATE +#define MAGICKCORE_OPENEXR_DELEGATE 1 +#endif /* Define to the address where bug reports for this package should be sent. */ #ifndef MAGICKCORE_PACKAGE_BUGREPORT @@ -1313,7 +1316,9 @@ #endif /* Define if you have RSVG library */ -/* #undef RSVG_DELEGATE */ +#ifndef MAGICKCORE_RSVG_DELEGATE +#define MAGICKCORE_RSVG_DELEGATE 1 +#endif /* Define to the type of arg 1 for `select'. */ #ifndef MAGICKCORE_SELECT_TYPE_ARG1 @@ -1458,8 +1463,10 @@ /* Define if using the dmalloc debugging malloc package */ /* #undef WITH_DMALLOC */ -/* Define if you have wmf library */ -/* #undef WMF_DELEGATE */ +/* Define if you have WMF library */ +#ifndef MAGICKCORE_WMF_DELEGATE +#define MAGICKCORE_WMF_DELEGATE 1 +#endif /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/MagickCore/version.h b/MagickCore/version.h index a90a00e..e893ff7 100644 --- a/MagickCore/version.h +++ b/MagickCore/version.h
@@ -27,14 +27,14 @@ */ #define MagickPackageName "ImageMagick" #define MagickCopyright "Copyright (C) 1999-2011 ImageMagick Studio LLC" -#define MagickSVNRevision "5035" +#define MagickSVNRevision "exported" #define MagickLibVersion 0x700 #define MagickLibVersionText "7.0.0" #define MagickLibVersionNumber 5,0,0 #define MagickLibAddendum "-0" #define MagickLibInterface 5 #define MagickLibMinInterface 5 -#define MagickReleaseDate "2011-08-22" +#define MagickReleaseDate "2011-08-23" #define MagickChangeDate "20110801" #define MagickAuthoritativeURL "http://www.imagemagick.org" #if defined(MAGICKCORE_OPENMP_SUPPORT)
diff --git a/MagickWand/magick-image.c b/MagickWand/magick-image.c index 41bf918..aa4b167 100644 --- a/MagickWand/magick-image.c +++ b/MagickWand/magick-image.c
@@ -5629,9 +5629,7 @@ (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); if ((wand->images == (Image *) NULL) || (hald_wand->images == (Image *) NULL)) ThrowWandException(WandError,"ContainsNoImages",wand->name); - status=HaldClutImage(wand->images,hald_wand->images); - if (status == MagickFalse) - InheritException(wand->exception,&wand->images->exception); + status=HaldClutImage(wand->images,hald_wand->images,&wand->images->exception); return(status); }
diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c index 9da0a2f..cad2fed 100644 --- a/MagickWand/mogrify.c +++ b/MagickWand/mogrify.c
@@ -1868,7 +1868,8 @@ if ((flags & SigmaValue) == 0) white_point=(MagickRealType) QuantumRange-black_point; if ((*option == '+') || ((flags & AspectValue) != 0)) - (void) LevelizeImage(*image,black_point,white_point,gamma); + (void) LevelizeImage(*image,black_point,white_point,gamma, + exception); else (void) LevelImage(*image,black_point,white_point,gamma, exception); @@ -1907,7 +1908,7 @@ (void) QueryMagickColor("#ffffff",&white_point,exception); } (void) LevelImageColors(*image,&black_point,&white_point, - *option == '+' ? MagickTrue : MagickFalse); + *option == '+' ? MagickTrue : MagickFalse,exception); break; } if (LocaleCompare("linear-stretch",option+1) == 0) @@ -7620,9 +7621,8 @@ status=MagickFalse; break; } - (void) HaldClutImage(image,hald_image); + (void) HaldClutImage(image,hald_image,exception); hald_image=DestroyImage(hald_image); - InheritException(exception,&image->exception); if (*images != (Image *) NULL) *images=DestroyImageList(*images); *images=image;
diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs index 9c891f3..9328c00 100644 --- a/PerlMagick/Magick.xs +++ b/PerlMagick/Magick.xs
@@ -10429,7 +10429,8 @@ if (attribute_flag[1] != 0) channel=(ChannelType) argument_list[1].integer_reference; channel_mask=SetPixelChannelMask(image,channel); - (void) HaldClutImage(image,argument_list[0].image_reference); + (void) HaldClutImage(image,argument_list[0].image_reference, + exception); (void) SetPixelChannelMask(image,channel_mask); break; } @@ -10499,7 +10500,8 @@ channel=(ChannelType) argument_list[3].integer_reference; channel_mask=SetPixelChannelMask(image,channel); (void) LevelImageColors(image,&black_point,&white_point, - argument_list[0].integer_reference != 0 ? MagickTrue : MagickFalse); + argument_list[0].integer_reference != 0 ? MagickTrue : MagickFalse, + exception); (void) SetPixelChannelMask(image,channel_mask); break; }