]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 16 Aug 2011 18:15:40 +0000 (18:15 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 16 Aug 2011 18:15:40 +0000 (18:15 +0000)
21 files changed:
Magick++/Makefile.am
Magick++/lib/Image.cpp
MagickCore/display.c
MagickCore/effect.c
MagickCore/enhance.c
MagickCore/enhance.h
MagickCore/fx.c
MagickCore/image.c
MagickCore/layer.c
MagickCore/magick-config.h
MagickCore/threshold.c
MagickCore/version.h
MagickWand/magick-image.c
MagickWand/mogrify.c
Makefile.in
PerlMagick/Magick.xs
coders/jpeg.c
coders/msl.c
config/configure.xml
configure
libtool

index eb3c8975bd3ba8c2227828234c0385b53af9bf29..6ae4f5f13fd022789ac169c4fbe59cd3221c84f4 100644 (file)
@@ -13,6 +13,7 @@ MAGICKPP_MANS = $(MAGICKPP_MANS_OPT)
 MAGICKPP_PKGCONFIG = $(MAGICKPP_PKGCONFIG_OPT)
 MAGICKPP_SCRPTS = $(MAGICKPP_SCRIPTS_OPT)
 MAGICKPP_TESTS = $(MAGICKPP_TEST_SCRIPTS_OPT)
+MAGICKPP_TOP_INCHEADERS = $(MAGICKPP_TOP_INCHEADERS_OPT)
 MAGICKPP_INCHEADERS = $(MAGICKPP_INCHEADERS_OPT)
 else
 MAGICKPP_LIBS = 
@@ -21,6 +22,7 @@ MAGICKPP_MANS =
 MAGICKPP_PKGCONFIG = 
 MAGICKPP_SCRPTS =
 MAGICKPP_TESTS = 
+MAGICKPP_TOP_INCHEADERS =
 MAGICKPP_INCHEADERS =
 endif
 
@@ -135,14 +137,16 @@ Magick___lib_libMagick___la_SOURCES = \
        Magick++/lib/Magick++/TypeMetric.h
 
 magickpptopincdir = $(topincludedir)
-magickpptopinc_HEADERS = 
+magickpptopinc_HEADERS = $(MAGICKPP_TOP_INCHEADERS)
+
+MAGICKPP_TOP_INCHEADERS_OPT = \
+  Magick++/lib/Magick++.h
 
 magickppincdir = $(topincludedir)/Magick++
 
 magickppinc_HEADERS = $(MAGICKPP_INCHEADERS)
 
 MAGICKPP_INCHEADERS_OPT = \
-       Magick++/lib/Magick++.h
        Magick++/lib/Magick++/Blob.h \
        Magick++/lib/Magick++/CoderInfo.h \
        Magick++/lib/Magick++/Color.h \
index 15255b916ac7b65d29aea65bd60882b0c20ddb81..5b263427698dfc7c00f4c212e333905f7f4573ca 100644 (file)
@@ -706,8 +706,11 @@ void Magick::Image::composite ( const Image &compositeImage_,
 void Magick::Image::contrast ( const size_t sharpen_ )
 {
   modifyImage();
-  ContrastImage ( image(), (MagickBooleanType) sharpen_ );
-  throwImageException();
+  ExceptionInfo exceptionInfo;
+  GetExceptionInfo( &exceptionInfo );
+  ContrastImage ( image(), (MagickBooleanType) sharpen_, &exceptionInfo );
+  throwException( exceptionInfo );
+  (void) DestroyExceptionInfo( &exceptionInfo );
 }
 
 // Convolve image.  Applies a general image convolution kernel to the image.
@@ -1384,8 +1387,11 @@ void Magick::Image::negate ( const bool grayscale_ )
 void Magick::Image::normalize ( void )
 {
   modifyImage();
-  NormalizeImage ( image() );
-  throwImageException();
+  ExceptionInfo exceptionInfo;
+  GetExceptionInfo( &exceptionInfo );
+  NormalizeImage ( image(), &exceptionInfo );
+  throwException( exceptionInfo );
+  (void) DestroyExceptionInfo( &exceptionInfo );
 }
 
 // Oilpaint image
index 174f044b6da4c38cf2c0d40cc8c062c4c580a8fd..ece4c11cc2a5687ff64f26a7ac195fee19b0b0ca 100644 (file)
@@ -7785,7 +7785,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info,
       */
       XSetCursorState(display,windows,MagickTrue);
       XCheckRefreshWindows(display,windows);
-      (void) ContrastImage(*image,MagickTrue);
+      (void) ContrastImage(*image,MagickTrue,&(*image)->exception);
       XSetCursorState(display,windows,MagickFalse);
       if (windows->image.orphan != MagickFalse)
         break;
@@ -7800,7 +7800,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info,
       */
       XSetCursorState(display,windows,MagickTrue);
       XCheckRefreshWindows(display,windows);
-      (void) ContrastImage(*image,MagickFalse);
+      (void) ContrastImage(*image,MagickFalse,&(*image)->exception);
       XSetCursorState(display,windows,MagickFalse);
       if (windows->image.orphan != MagickFalse)
         break;
@@ -7838,7 +7838,8 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info,
           white_point*=(double) (*image)->columns*(*image)->rows/100.0;
         }
       white_point=(MagickRealType) (*image)->columns*(*image)->rows-white_point;
-      (void) ContrastStretchImage(*image,black_point,white_point);
+      (void) ContrastStretchImage(*image,black_point,white_point,
+        &(*image)->exception);
       XSetCursorState(display,windows,MagickFalse);
       if (windows->image.orphan != MagickFalse)
         break;
@@ -7890,7 +7891,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info,
       */
       XSetCursorState(display,windows,MagickTrue);
       XCheckRefreshWindows(display,windows);
-      (void) NormalizeImage(*image);
+      (void) NormalizeImage(*image,&(*image)->exception);
       XSetCursorState(display,windows,MagickFalse);
       if (windows->image.orphan != MagickFalse)
         break;
index e2366b0e6a6f000d27a3eae269fab3ec2fe56a53..a1ef4e4d1aa39c20ff90c62e59420df1c323ed54 100644 (file)
@@ -2468,7 +2468,7 @@ MagickExport Image *PreviewImage(const Image *image,const PreviewType preview,
         preview_image=CloneImage(thumbnail,0,0,MagickTrue,exception);
         if (preview_image != (Image *) NULL)
           for (x=0; x < i; x++)
-            (void) ContrastImage(preview_image,MagickTrue);
+            (void) ContrastImage(preview_image,MagickTrue,exception);
         (void) FormatLocaleString(label,MaxTextExtent,"contrast (%.20g)",
           (double) i+1);
         break;
@@ -2479,7 +2479,7 @@ MagickExport Image *PreviewImage(const Image *image,const PreviewType preview,
         if (preview_image == (Image *) NULL)
           break;
         for (x=0; x < i; x++)
-          (void) ContrastImage(preview_image,MagickFalse);
+          (void) ContrastImage(preview_image,MagickFalse,exception);
         (void) FormatLocaleString(label,MaxTextExtent,"+contrast (%.20g)",
           (double) i+1);
         break;
index 6f5b50ce08dadc1b57e38cf6606e43cab53bb5f4..5a052063fee70c905dc1909583a1b22cc6d173b0 100644 (file)
@@ -215,8 +215,8 @@ MagickExport MagickBooleanType BrightnessContrastImage(Image *image,
 
   double
     alpha,
-    intercept,
     coefficients[2],
+    intercept,
     slope;
 
   MagickBooleanType
@@ -288,11 +288,6 @@ MagickExport MagickBooleanType BrightnessContrastImage(Image *image,
 MagickExport MagickBooleanType ClutImage(Image *image,const Image *clut_image,
   ExceptionInfo *exception)
 {
-#define ClampAlphaPixelChannel(pixel) ClampToQuantum((pixel)->alpha)
-#define ClampBlackPixelChannel(pixel) ClampToQuantum((pixel)->black)
-#define ClampBluePixelChannel(pixel) ClampToQuantum((pixel)->blue)
-#define ClampGreenPixelChannel(pixel) ClampToQuantum((pixel)->green)
-#define ClampRedPixelChannel(pixel) ClampToQuantum((pixel)->red)
 #define ClutImageTag  "Clut/Image"
 
   CacheView
@@ -826,7 +821,7 @@ MagickExport MagickBooleanType ColorDecisionListImage(Image *image,
 %  The format of the ContrastImage method is:
 %
 %      MagickBooleanType ContrastImage(Image *image,
-%        const MagickBooleanType sharpen)
+%        const MagickBooleanType sharpen,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -834,6 +829,8 @@ MagickExport MagickBooleanType ColorDecisionListImage(Image *image,
 %
 %    o sharpen: Increase or decrease image contrast.
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
 
 static void Contrast(const int sign,Quantum *red,Quantum *green,Quantum *blue)
@@ -864,16 +861,13 @@ static void Contrast(const int sign,Quantum *red,Quantum *green,Quantum *blue)
 }
 
 MagickExport MagickBooleanType ContrastImage(Image *image,
-  const MagickBooleanType sharpen)
+  const MagickBooleanType sharpen,ExceptionInfo *exception)
 {
 #define ContrastImageTag  "Contrast/Image"
 
   CacheView
     *image_view;
 
-  ExceptionInfo
-    *exception;
-
   int
     sign;
 
@@ -908,7 +902,6 @@ MagickExport MagickBooleanType ContrastImage(Image *image,
   */
   status=MagickTrue;
   progress=0;
-  exception=(&image->exception);
   image_view=AcquireCacheView(image);
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
   #pragma omp parallel for schedule(dynamic,4) shared(progress,status)
@@ -985,7 +978,7 @@ MagickExport MagickBooleanType ContrastImage(Image *image,
 %  The format of the ContrastStretchImage method is:
 %
 %      MagickBooleanType ContrastStretchImage(Image *image,
-%        const char *levels)
+%        const char *levels,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -998,9 +991,11 @@ MagickExport MagickBooleanType ContrastImage(Image *image,
 %    o levels: Specify the levels where the black and white points have the
 %      range of 0 to number-of-pixels (e.g. 1%, 10x90%, etc.).
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
 MagickExport MagickBooleanType ContrastStretchImage(Image *image,
-  const double black_point,const double white_point)
+  const double black_point,const double white_point,ExceptionInfo *exception)
 {
 #define MaxRange(color)  ((MagickRealType) ScaleQuantumToMap((Quantum) (color)))
 #define ContrastStretchImageTag  "ContrastStretch/Image"
@@ -1011,9 +1006,6 @@ MagickExport MagickBooleanType ContrastStretchImage(Image *image,
   double
     intensity;
 
-  ExceptionInfo
-    *exception;
-
   MagickBooleanType
     status;
 
@@ -1051,7 +1043,6 @@ MagickExport MagickBooleanType ContrastStretchImage(Image *image,
     Form histogram.
   */
   status=MagickTrue;
-  exception=(&image->exception);
   (void) ResetMagickMemory(histogram,0,(MaxMap+1)*sizeof(*histogram));
   image_view=AcquireCacheView(image);
   for (y=0; y < (ssize_t) image->rows; y++)
@@ -1273,7 +1264,8 @@ MagickExport MagickBooleanType ContrastStretchImage(Image *image,
   /*
     Stretch the image.
   */
-  if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) || (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) &&
+  if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) ||
+      (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) &&
       (image->colorspace == CMYKColorspace)))
     image->storage_class=DirectClass;
   if (image->storage_class == PseudoClass)
@@ -3269,14 +3261,17 @@ MagickExport MagickBooleanType NegateImage(Image *image,
 %
 %  The format of the NormalizeImage method is:
 %
-%      MagickBooleanType NormalizeImage(Image *image)
+%      MagickBooleanType NormalizeImage(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 NormalizeImage(Image *image)
+MagickExport MagickBooleanType NormalizeImage(Image *image,
+  ExceptionInfo *exception)
 {
   double
     black_point,
@@ -3284,7 +3279,7 @@ MagickExport MagickBooleanType NormalizeImage(Image *image)
 
   black_point=(double) image->columns*image->rows*0.0015;
   white_point=(double) image->columns*image->rows*0.9995;
-  return(ContrastStretchImage(image,black_point,white_point));
+  return(ContrastStretchImage(image,black_point,white_point,exception));
 }
 \f
 /*
index fcebcebab9da7fd3148d3a0d5d9981d4c1a61f5e..b89bd725051e6b731f4ff6ae3795bc8b8303d322 100644 (file)
@@ -28,8 +28,8 @@ extern MagickExport MagickBooleanType
   BrightnessContrastImage(Image *,const double,const double,ExceptionInfo *),
   ClutImage(Image *,const Image *,ExceptionInfo *),
   ColorDecisionListImage(Image *,const char *,ExceptionInfo *),
-  ContrastImage(Image *,const MagickBooleanType),
-  ContrastStretchImage(Image *,const double,const double),
+  ContrastImage(Image *,const MagickBooleanType,ExceptionInfo *),
+  ContrastStretchImage(Image *,const double,const double,ExceptionInfo *),
   EqualizeImage(Image *image),
   GammaImage(Image *,const double,ExceptionInfo *),
   HaldClutImage(Image *,const Image *),
@@ -40,7 +40,7 @@ extern MagickExport MagickBooleanType
   LinearStretchImage(Image *,const double,const double),
   ModulateImage(Image *,const char *),
   NegateImage(Image *,const MagickBooleanType,ExceptionInfo *),
-  NormalizeImage(Image *),
+  NormalizeImage(Image *,ExceptionInfo *),
   SigmoidalContrastImage(Image *,const MagickBooleanType,const double,
     const double);
 
index 834b0b14dd9c83ac5af0de6879014788c7efcb9d..7fe94d98200e43e9113fa15e3635bb69bb046794 100644 (file)
@@ -648,7 +648,7 @@ MagickExport Image *CharcoalImage(const Image *image,const double radius,
   edge_image=DestroyImage(edge_image);
   if (charcoal_image == (Image *) NULL)
     return((Image *) NULL);
-  (void) NormalizeImage(charcoal_image);
+  (void) NormalizeImage(charcoal_image,exception);
   (void) NegateImage(charcoal_image,MagickFalse,exception);
   (void) SetImageType(charcoal_image,GrayscaleType);
   return(charcoal_image);
@@ -4078,8 +4078,8 @@ MagickExport Image *SepiaToneImage(const Image *image,const double threshold,
   }
   sepia_view=DestroyCacheView(sepia_view);
   image_view=DestroyCacheView(image_view);
-  (void) NormalizeImage(sepia_image);
-  (void) ContrastImage(sepia_image,MagickTrue);
+  (void) NormalizeImage(sepia_image,exception);
+  (void) ContrastImage(sepia_image,MagickTrue,exception);
   if (status == MagickFalse)
     sepia_image=DestroyImage(sepia_image);
   return(sepia_image);
@@ -4367,7 +4367,7 @@ MagickExport Image *SketchImage(const Image *image,const double radius,
   blur_image=DestroyImage(blur_image);
   if (dodge_image == (Image *) NULL)
     return((Image *) NULL);
-  (void) NormalizeImage(dodge_image);
+  (void) NormalizeImage(dodge_image,exception);
   (void) NegateImage(dodge_image,MagickFalse,exception);
   (void) TransformImage(&dodge_image,(char *) NULL,"50%");
   sketch_image=CloneImage(image,0,0,MagickTrue,exception);
index f926196b3ee9fd41e7c8e271a66f559181bb0081..1f8610c2fcdfdc332ca6aedf04aa8ad284bf7ad5 100644 (file)
@@ -805,6 +805,7 @@ MagickExport Image *CloneImage(const Image *image,const size_t columns,
   clone_image->magick_columns=image->magick_columns;
   clone_image->magick_rows=image->magick_rows;
   clone_image->type=image->type;
+  clone_image->sync=image->sync;
   clone_image->map=image->map;
   clone_image->channel_map=ClonePixelChannelMap(image->channel_map);
   (void) CopyMagickString(clone_image->magick_filename,image->magick_filename,
index d1b2d43f47e319f604ff58935643404917a7106a..f767c0dd3b5638c27bb02d37874ee7dbcedc615c 100644 (file)
@@ -174,13 +174,8 @@ static MagickBooleanType IsBoundsCleared(const Image *image1,
   ssize_t
     y;
 
-#if 0
-  assert(image1->matte==MagickTrue);
-  assert(image2->matte==MagickTrue);
-#endif
-
-  if ( bounds->x< 0 ) return(MagickFalse);
-
+  if (bounds->x < 0)
+    return(MagickFalse);
   for (y=0; y < (ssize_t) bounds->height; y++)
   {
     p=GetVirtualPixels(image1,bounds->x,bounds->y+y,bounds->width,1,
index 60334d7b94cf6fee05d1743764d535c4bcdb04ab..2726a74e3fde3f0f6dab78f556afb7ba2dc5a8c6 100644 (file)
@@ -12,9 +12,7 @@
 /* #undef AUTOTRACE_DELEGATE */
 
 /* Define if coders and filters are to be built as modules. */
-#ifndef MAGICKCORE_BUILD_MODULES
-#define MAGICKCORE_BUILD_MODULES 1
-#endif
+/* #undef BUILD_MODULES */
 
 /* Define if you have the bzip2 library */
 #ifndef MAGICKCORE_BZLIB_DELEGATE
@@ -80,9 +78,7 @@
 #endif
 
 /* Define if you have FFTW library */
-#ifndef MAGICKCORE_FFTW_DELEGATE
-#define MAGICKCORE_FFTW_DELEGATE 1
-#endif
+/* #undef FFTW_DELEGATE */
 
 /* Location of filter modules */
 #ifndef MAGICKCORE_FILTER_PATH
 #endif
 
 /* Define if you have the <lcms2.h> header file. */
-/* #undef HAVE_LCMS2_H */
+#ifndef MAGICKCORE_HAVE_LCMS2_H
+#define MAGICKCORE_HAVE_LCMS2_H 1
+#endif
 
 /* Define if you have the <lcms2/lcms2.h> header file. */
 /* #undef HAVE_LCMS2_LCMS2_H */
 
 /* Define if you have the <lcms.h> header file. */
-#ifndef MAGICKCORE_HAVE_LCMS_H
-#define MAGICKCORE_HAVE_LCMS_H 1
-#endif
+/* #undef HAVE_LCMS_H */
 
 /* Define if you have the <lcms/lcms.h> header file. */
 /* #undef HAVE_LCMS_LCMS_H */
 #endif
 
 /* Define if you have JBIG library */
-#ifndef MAGICKCORE_JBIG_DELEGATE
-#define MAGICKCORE_JBIG_DELEGATE 1
-#endif
+/* #undef JBIG_DELEGATE */
 
 /* Define if you have JPEG version 2 "Jasper" library */
 #ifndef MAGICKCORE_JP2_DELEGATE
 #endif
 
 /* Define if you have LQR library */
-#ifndef MAGICKCORE_LQR_DELEGATE
-#define MAGICKCORE_LQR_DELEGATE 1
-#endif
+/* #undef LQR_DELEGATE */
 
 /* Define if using libltdl to support dynamically loadable modules */
 #ifndef MAGICKCORE_LTDL_DELEGATE
 
 /* 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/R/lib:/usr/lib64/atlas:/opt/modules/pkg/intel/f77/10.0.025/lib:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/xulrunner-2"
+#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"
 #endif
 
 /* The archive extension */
 /* #undef NO_MINUS_C_MINUS_O */
 
 /* Define if you have OPENEXR library */
-#ifndef MAGICKCORE_OPENEXR_DELEGATE
-#define MAGICKCORE_OPENEXR_DELEGATE 1
-#endif
+/* #undef OPENEXR_DELEGATE */
 
 /* Define to the address where bug reports for this package should be sent. */
 #ifndef MAGICKCORE_PACKAGE_BUGREPORT
 #endif
 
 /* Define if you have RSVG library */
-#ifndef MAGICKCORE_RSVG_DELEGATE
-#define MAGICKCORE_RSVG_DELEGATE 1
-#endif
+/* #undef RSVG_DELEGATE */
 
 /* Define to the type of arg 1 for `select'. */
 #ifndef MAGICKCORE_SELECT_TYPE_ARG1
 
 
 /* Define if you have WEBP library */
-#ifndef MAGICKCORE_WEBP_DELEGATE
-#define MAGICKCORE_WEBP_DELEGATE 1
-#endif
+/* #undef WEBP_DELEGATE */
 
 /* Define to use the Windows GDI32 library */
 /* #undef WINGDI32_DELEGATE */
 /* #undef WITH_DMALLOC */
 
 /* Define if you have WMF library */
-#ifndef MAGICKCORE_WMF_DELEGATE
-#define MAGICKCORE_WMF_DELEGATE 1
-#endif
+/* #undef WMF_DELEGATE */
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
index 7ce060eb17b35d4489d6622d0b27c63726a01797..9b17ebd610379350e60cf0fe82d90562b456a3a2 100644 (file)
@@ -343,8 +343,7 @@ MagickExport Image *AdaptiveThresholdImage(const Image *image,
 %  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)
 {
 #define ThresholdImageTag  "Threshold/Image"
 
index e6a5d695757d93066113009a5c902a32a813f600..b0af1197033fe6e852dd29856adc26389fd8df99 100644 (file)
@@ -27,14 +27,14 @@ extern "C" {
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2011 ImageMagick Studio LLC"
-#define MagickSVNRevision  "exported"
+#define MagickSVNRevision  "4982"
 #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-10"
+#define MagickReleaseDate  "2011-08-16"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
index 6c9786c6a5b843fe7dc9ed8fecc7bb9f284577a0..5c4e4f88efaef768b1f98e8c3816186f7a18cbb2 100644 (file)
@@ -1806,9 +1806,7 @@ WandExport MagickBooleanType MagickContrastImage(MagickWand *wand,
     (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
   if (wand->images == (Image *) NULL)
     ThrowWandException(WandError,"ContainsNoImages",wand->name);
-  status=ContrastImage(wand->images,sharpen);
-  if (status == MagickFalse)
-    InheritException(wand->exception,&wand->images->exception);
+  status=ContrastImage(wand->images,sharpen,&wand->images->exception);
   return(status);
 }
 \f
@@ -1854,9 +1852,8 @@ WandExport MagickBooleanType MagickContrastStretchImage(MagickWand *wand,
     (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
   if (wand->images == (Image *) NULL)
     ThrowWandException(WandError,"ContainsNoImages",wand->name);
-  status=ContrastStretchImage(wand->images,black_point,white_point);
-  if (status == MagickFalse)
-    InheritException(wand->exception,&wand->images->exception);
+  status=ContrastStretchImage(wand->images,black_point,white_point,
+    &wand->images->exception);
   return(status);
 }
 \f
@@ -6801,9 +6798,7 @@ WandExport MagickBooleanType MagickNormalizeImage(MagickWand *wand)
     (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
   if (wand->images == (Image *) NULL)
     ThrowWandException(WandError,"ContainsNoImages",wand->name);
-  status=NormalizeImage(wand->images);
-  if (status == MagickFalse)
-    InheritException(wand->exception,&wand->images->exception);
+  status=NormalizeImage(wand->images,&wand->images->exception);
   return(status);
 }
 \f
index a06d28f5bfb89eb42b60a00e47277270bf28e11f..323a8f2c7b3a62e48ac5e5c817d11b6c02825ed0 100644 (file)
@@ -1169,8 +1169,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
           {
             (void) SyncImageSettings(mogrify_info,*image);
             (void) ContrastImage(*image,(*option == '-') ? MagickTrue :
-              MagickFalse);
-            InheritException(exception,&(*image)->exception);
+              MagickFalse,exception);
             break;
           }
         if (LocaleCompare("contrast-stretch",option+1) == 0)
@@ -1197,7 +1196,8 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
               }
             white_point=(MagickRealType) (*image)->columns*(*image)->rows-
               white_point;
-            (void) ContrastStretchImage(*image,black_point,white_point);
+            (void) ContrastStretchImage(*image,black_point,white_point,
+              exception);
             InheritException(exception,&(*image)->exception);
             break;
           }
@@ -2158,8 +2158,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
         if (LocaleCompare("normalize",option+1) == 0)
           {
             (void) SyncImageSettings(mogrify_info,*image);
-            (void) NormalizeImage(*image);
-            InheritException(exception,&(*image)->exception);
+            (void) NormalizeImage(*image,exception);
             break;
           }
         break;
index dff524466191789cffabb8689135aeb0ebf36ed5..b0aefebd927265efb1b617a8b74ac977d010e84c 100644 (file)
@@ -221,9 +221,9 @@ check_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_4) $(am__EXEEXT_5)
 DIST_COMMON = $(MagickCoreinc_HEADERS) $(MagickWandinc_HEADERS) \
        $(am__configure_deps) $(am__include_HEADERS_DIST) \
        $(am__ltdlinclude_HEADERS_DIST) \
-       $(am__magickppinc_HEADERS_DIST) $(magickpptopinc_HEADERS) \
-       $(noinst_HEADERS) $(srcdir)/ImageMagick.spec.in \
-       $(srcdir)/Magick++/Makefile.am \
+       $(am__magickppinc_HEADERS_DIST) \
+       $(am__magickpptopinc_HEADERS_DIST) $(noinst_HEADERS) \
+       $(srcdir)/ImageMagick.spec.in $(srcdir)/Magick++/Makefile.am \
        $(srcdir)/MagickCore/Makefile.am \
        $(srcdir)/MagickWand/Makefile.am $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in $(srcdir)/PerlMagick/Makefile.am \
@@ -2184,7 +2184,15 @@ DATA = $(configlib_DATA) $(configshare_DATA) $(doc_DATA) \
 am__include_HEADERS_DIST = ltdl/ltdl.h
 am__ltdlinclude_HEADERS_DIST = ltdl/libltdl/lt_system.h \
        ltdl/libltdl/lt_error.h ltdl/libltdl/lt_dlloader.h
-am__magickppinc_HEADERS_DIST = Magick++/lib/Magick++.h
+am__magickppinc_HEADERS_DIST = Magick++/lib/Magick++/Blob.h \
+       Magick++/lib/Magick++/CoderInfo.h \
+       Magick++/lib/Magick++/Color.h Magick++/lib/Magick++/Drawable.h \
+       Magick++/lib/Magick++/Exception.h \
+       Magick++/lib/Magick++/Geometry.h Magick++/lib/Magick++/Image.h \
+       Magick++/lib/Magick++/Include.h \
+       Magick++/lib/Magick++/Montage.h Magick++/lib/Magick++/Pixels.h \
+       Magick++/lib/Magick++/STL.h Magick++/lib/Magick++/TypeMetric.h
+am__magickpptopinc_HEADERS_DIST = Magick++/lib/Magick++.h
 HEADERS = $(MagickCoreinc_HEADERS) $(MagickWandinc_HEADERS) \
        $(include_HEADERS) $(ltdlinclude_HEADERS) \
        $(magickppinc_HEADERS) $(magickpptopinc_HEADERS) \
@@ -4352,6 +4360,8 @@ MAGICKWAND_CLEANFILES = \
 @WITH_MAGICK_PLUS_PLUS_TRUE@MAGICKPP_SCRPTS = $(MAGICKPP_SCRIPTS_OPT)
 @WITH_MAGICK_PLUS_PLUS_FALSE@MAGICKPP_TESTS = 
 @WITH_MAGICK_PLUS_PLUS_TRUE@MAGICKPP_TESTS = $(MAGICKPP_TEST_SCRIPTS_OPT)
+@WITH_MAGICK_PLUS_PLUS_FALSE@MAGICKPP_TOP_INCHEADERS = 
+@WITH_MAGICK_PLUS_PLUS_TRUE@MAGICKPP_TOP_INCHEADERS = $(MAGICKPP_TOP_INCHEADERS_OPT)
 @WITH_MAGICK_PLUS_PLUS_FALSE@MAGICKPP_INCHEADERS = 
 @WITH_MAGICK_PLUS_PLUS_TRUE@MAGICKPP_INCHEADERS = $(MAGICKPP_INCHEADERS_OPT)
 MAGICKPP_SCRIPTS_OPT = \
@@ -4465,11 +4475,25 @@ Magick___lib_libMagick___la_SOURCES = \
        Magick++/lib/Magick++/TypeMetric.h
 
 magickpptopincdir = $(topincludedir)
-magickpptopinc_HEADERS = 
+magickpptopinc_HEADERS = $(MAGICKPP_TOP_INCHEADERS)
+MAGICKPP_TOP_INCHEADERS_OPT = \
+  Magick++/lib/Magick++.h
+
 magickppincdir = $(topincludedir)/Magick++
 magickppinc_HEADERS = $(MAGICKPP_INCHEADERS)
 MAGICKPP_INCHEADERS_OPT = \
-       Magick++/lib/Magick++.h
+       Magick++/lib/Magick++/Blob.h \
+       Magick++/lib/Magick++/CoderInfo.h \
+       Magick++/lib/Magick++/Color.h \
+       Magick++/lib/Magick++/Drawable.h \
+       Magick++/lib/Magick++/Exception.h \
+       Magick++/lib/Magick++/Geometry.h \
+       Magick++/lib/Magick++/Image.h \
+       Magick++/lib/Magick++/Include.h \
+       Magick++/lib/Magick++/Montage.h \
+       Magick++/lib/Magick++/Pixels.h \
+       Magick++/lib/Magick++/STL.h \
+       Magick++/lib/Magick++/TypeMetric.h
 
 Magick___lib_libMagick___la_LDFLAGS = -no-undefined \
        -version-info $(MAGICK_LIBRARY_CURRENT):$(MAGICK_LIBRARY_REVISION):$(MAGICK_LIBRARY_AGE)
@@ -11430,18 +11454,6 @@ MagickCore-install-data-local:
        $(INSTALL_HEADER) MagickCore/magick-config.h $(DESTDIR)$(MagickCoreincdir)/magick-config.h
 MagickCore-uninstall-local:
        rm -f $(DESTDIR)$(MagickCoreincdir)/magick-config.h
-       Magick++/lib/Magick++/Blob.h \
-       Magick++/lib/Magick++/CoderInfo.h \
-       Magick++/lib/Magick++/Color.h \
-       Magick++/lib/Magick++/Drawable.h \
-       Magick++/lib/Magick++/Exception.h \
-       Magick++/lib/Magick++/Geometry.h \
-       Magick++/lib/Magick++/Image.h \
-       Magick++/lib/Magick++/Include.h \
-       Magick++/lib/Magick++/Montage.h \
-       Magick++/lib/Magick++/Pixels.h \
-       Magick++/lib/Magick++/STL.h \
-       Magick++/lib/Magick++/TypeMetric.h
 
 # If source files missing, see if they can be obtained via VPATH
 perl-sources:
index 03b29ed70d2d39dcd8bbaf47e992e19539a3a2eb..3b2e855f12da05138284ae5175445852c0e847ac 100644 (file)
@@ -8385,7 +8385,7 @@ Mogrify(ref,...)
           if (attribute_flag[0] == 0)
             argument_list[0].integer_reference=0;
           (void) ContrastImage(image,argument_list[0].integer_reference != 0 ?
-            MagickTrue : MagickFalse);
+            MagickTrue : MagickFalse,exception);
           break;
         }
         case 37:  /* CycleColormap */
@@ -8791,7 +8791,7 @@ Mogrify(ref,...)
           if (attribute_flag[0] != 0)
             channel=(ChannelType) argument_list[0].integer_reference;
           PushPixelChannelMap(image,channel);
-          NormalizeImage(image);
+          NormalizeImage(image,exception);
           PopPixelChannelMap(image);
           break;
         }
@@ -9877,7 +9877,7 @@ Mogrify(ref,...)
           if (attribute_flag[4] != 0)
             channel=(ChannelType) argument_list[4].integer_reference;
           PushPixelChannelMap(image,channel);
-          (void) ContrastStretchImage(image,black_point,white_point);
+          (void) ContrastStretchImage(image,black_point,white_point,exception);
           PopPixelChannelMap(image);
           break;
         }
index 7808d02872b9183acbdd382b496ae80eb4eeea9a..d6ad30ad72eabdf3963fcaa1021c34895bd3d5eb 100644 (file)
@@ -573,6 +573,9 @@ static boolean ReadProfile(j_decompress_ptr jpeg_info)
   char
     name[MaxTextExtent];
 
+  const StringInfo
+    *previous_profile;
+
   ErrorManager
     *error_manager;
 
@@ -641,6 +644,9 @@ static boolean ReadProfile(j_decompress_ptr jpeg_info)
           (void) CopyMagickString(name,"xmp",MaxTextExtent);
         }
     }
+  previous_profile=GetImageProfile(image,name);
+  if (previous_profile != (const StringInfo *) NULL)
+    ConcatenateStringInfo(profile,previous_profile);
   status=SetImageProfile(image,name,profile);
   profile=DestroyStringInfo(profile);
   if (status == MagickFalse)
index 56641935ba619d21b79ec503ce08ca2656397deb..04d2df3c74db41ea20bc56e23c9b2dc8ec4d8cf9 100644 (file)
@@ -2120,7 +2120,8 @@ static void MSLStartElement(void *context,const xmlChar *tag,
                 }
               }
             }
-          (void) ContrastImage(msl_info->image[n],sharpen);
+          (void) ContrastImage(msl_info->image[n],sharpen,
+            &msl_info->image[n]->exception);
           break;
         }
       if (LocaleCompare((const char *) tag,"crop") == 0)
@@ -4084,7 +4085,8 @@ static void MSLStartElement(void *context,const xmlChar *tag,
                 }
               }
             }
-          (void) NormalizeImage(msl_info->image[n]);
+          (void) NormalizeImage(msl_info->image[n],
+            &msl_info->image[n]->exception);
           break;
         }
       ThrowMSLException(OptionError,"UnrecognizedElement",(const char *) tag);
index 4ffb5ada3f6c889b9f8befc36159088c93e5d066..b42e46dc21534ab0794ba26ddf5192cf18edcc4b 100644 (file)
@@ -10,8 +10,8 @@
   <configure name="VERSION" value="7.0.0"/>
   <configure name="LIB_VERSION" value="0x700"/>
   <configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
-  <configure name="SVN_REVISION" value="4944" />
-  <configure name="RELEASE_DATE" value="2011-08-10"/>
+  <configure name="SVN_REVISION" value="4982" />
+  <configure name="RELEASE_DATE" value="2011-08-16"/>
   <configure name="CONFIGURE" value="./configure "/>
   <configure name="PREFIX" value="/usr/local"/>
   <configure name="EXEC-PREFIX" value="/usr/local"/>
index 951087fff4484f78a0c79410290bde1917ca405d..db1c62ea4171a43a618b1235f36c56c08e02aecb 100755 (executable)
--- a/configure
+++ b/configure
@@ -3582,7 +3582,7 @@ MAGICK_LIBRARY_CURRENT_MIN=`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE`
 
 MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE
 
-MAGICK_SVN_REVISION=4944
+MAGICK_SVN_REVISION=4982
 
 
 
diff --git a/libtool b/libtool
index 5631a5f26b1a2e7835a47cab8460c2c321645314..d1d8b4be543dfe1988c524207a7a7c4185c4d222 100755 (executable)
--- a/libtool
+++ b/libtool
@@ -275,7 +275,7 @@ hardcode_into_libs=yes
 sys_lib_search_path_spec="/usr/lib/gcc/x86_64-redhat-linux/4.6.1 /usr/lib64 /lib64 "
 
 # Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib /usr/lib64/atlas /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 "
+sys_lib_dlsearch_path_spec="/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 "
 
 # Whether dlopen is supported.
 dlopen_support=yes