--- dx-4.4.4/configure.ac.orig 2006-08-21 23:56:08.000000000 +0200 +++ dx-4.4.4/configure.ac 2008-11-13 12:31:28.000000000 +0100 @@ -801,7 +800,10 @@ failed=0; passed=0; + old_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/usr/include/ImageMagick" AC_CHECK_HEADER([magick/api.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) + CPPFLAGS="$old_CPPFLAGS" if test "$ARCH" = "intelnt" ; then AC_CHECK_LIB(CORE_RL_magick_,Hopen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,) AC_MSG_CHECKING(if ImageMagick package is complete) @@ -836,7 +838,7 @@ if test "$HAVE_MC" = "yes" ; then LIB_MAGICK="`Magick-config --ldflags` `Magick-config --libs`" - AC_CHECK_LIB( Magick,GetImageInfo, passed=`expr $passed + 1`, failed=`expr $failed + 1`, [ $LIB_MAGICK ]) + AC_CHECK_LIB( MagickCore,GetImageInfo, passed=`expr $passed + 1`, failed=`expr $failed + 1`, [ $LIB_MAGICK ]) AC_MSG_CHECKING(if ImageMagick package is complete) if test $passed -gt 0 then @@ -850,7 +852,7 @@ LIB_MAGICK="$LIBS `Magick-config --ldflags` `Magick-config --libs`" dnl UNIQUIFY will remove duplicate library tokens leaving the last instance. AC_UTILS_UNIQUIFY($LIB_MAGICK, LIBS) - FMT_LIBS="$FMT_LIBS libMagick.a" + FMT_LIBS="$FMT_LIBS libMagickCore.a" AC_DEFINE(HAVE_LIBMAGICK, 1, [Define to 1 if you have the ImageMagick libraries]) AC_MSG_RESULT(yes) have_magick='yes' diff -urN dx-4.4.4/src/exec/dxmods/_im_image.c dx-4.4.4-new/src/exec/dxmods/_im_image.c --- dx-4.4.4/src/exec/dxmods/_im_image.c 2006-01-05 17:55:43.000000000 -0500 +++ dx-4.4.4-new/src/exec/dxmods/_im_image.c 2008-05-11 01:09:15.000000000 -0400 @@ -999,8 +999,11 @@ /* Opacities in colormap is wrong; use direct color map */ if ( image->matte ) for ( x = 0; x < width; x++ ) - omap[*(indexes2++)] = ( 1.0 - + { + int omap_index = *(indexes2++); // if Magick has HDRI, Quantum is a float + omap[(omap_index < 0 ? 0 : omap_index)] = ( 1.0 - // clamp if negative ((float) (pixies++)->opacity) / MaxRGB ); + } } } else DXErrorGoto( ERROR_INTERNAL, "unexpected image field format" ); --- dx-4.4.4/src/exec/dxmods/_im_image.c.orig 2010-01-19 11:42:23.000000000 +0100 +++ dx-4.4.4/src/exec/dxmods/_im_image.c 2010-01-19 11:42:48.000000000 +0100 @@ -329,7 +329,7 @@ DestroyImageInfo(new_frame_info); DestroyImageInfo(image_info); #if MagickLibVersion > 0x0537 - DestroyConstitute(); + ConstituteComponentTerminus(); #endif DXSetError(ERROR_INTERNAL, "reason = %s, description = %s", image->exception.reason, @@ -346,7 +346,7 @@ DestroyImageInfo(new_frame_info); DestroyImageInfo(image_info); #if MagickLibVersion > 0x0537 - DestroyConstitute(); + ConstituteComponentTerminus(); #endif DXErrorReturn( ERROR_INTERNAL , "out of memory allocating buffer _im_image.c"); } @@ -375,7 +375,7 @@ DestroyImageInfo(image_info); DestroyImageInfo(new_frame_info); #if MagickLibVersion > 0x0537 - DestroyConstitute(); + ConstituteComponentTerminus(); #endif DEBUGMESSAGE("back from DestroyImage"); @@ -491,7 +491,7 @@ DestroyImage(image); DestroyImageInfo(image_info); #if MagickLibVersion > 0x0537 - DestroyConstitute(); + ConstituteComponentTerminus(); #endif } return (OK);