diff --git a/ChangeLog b/ChangeLog index 401eb1ff..8f9fbdfc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,7 +3,7 @@ - revise C++ example [fangqiao] - strict round down on jpeg shrink on load [davidwood] - configure test for g++ 7.2 and composite.cpp -- fix a crash with TGA ping [jtorresfabra] +- don't Ping in magickload, too unreliable 12/2/18 started 8.6.3 - use pkg-config to find libjpeg, if we can diff --git a/configure.ac b/configure.ac index a2f1cf3e..daea29d6 100644 --- a/configure.ac +++ b/configure.ac @@ -662,17 +662,6 @@ if test x"$magick6" = x"yes"; then LIBS="$save_LIBS" fi -if test x"$magick6" = x"yes"; then - # more recent magick6s have AcquireImageColormap rather than - # AllocateImageColormap groan - save_LIBS="$LIBS" - LIBS="$LIBS $MAGICK_LIBS" - AC_CHECK_FUNCS(AcquireImageColormap, - AC_DEFINE(HAVE_ACQUIREIMAGECOLORMAP,1, - [define if your magick has AcquireImageColormap.])) - LIBS="$save_LIBS" -fi - if test x"$magick6" = x"yes"; then # more recent magicks have GetVirtualPixels rather than GetImagePixels save_LIBS="$LIBS" diff --git a/libvips/foreign/magick2vips.c b/libvips/foreign/magick2vips.c index 160560d1..d65290c3 100644 --- a/libvips/foreign/magick2vips.c +++ b/libvips/foreign/magick2vips.c @@ -335,19 +335,6 @@ parse_header( Read *read ) if( (im->Bands = get_bands( image )) < 0 ) return( -1 ); - /* Some ImageMagick loaders (eg. TGA) fail to set the ->colormap - * field on Ping. GetImageChannelDepth() needs this and - * will crash if it's not set. - * - * If there's no colormap, set an empty one. - */ - if( !image->colormap ) -#ifdef HAVE_ACQUIREIMAGECOLORMAP - AcquireImageColormap( image, image->colors ); -#else /*!HAVE_ACQUIREIMAGECOLORMAP*/ - AllocateImageColormap( image, image->colors ); -#endif /*HAVE_ACQUIREIMAGECOLORMAP*/ - /* Depth can be 'fractional'. * * You'd think we should use @@ -808,7 +795,7 @@ vips__magick_read_header( const char *filename, printf( "vips__magick_read_header: pinging image ...\n" ); #endif /*DEBUG*/ - read->image = PingImage( read->image_info, &read->exception ); + read->image = ReadImage( read->image_info, &read->exception ); if( !read->image ) { vips_error( "magick2vips", _( "unable to ping file " "\"%s\"\nlibMagick error: %s %s" ), @@ -885,7 +872,8 @@ vips__magick_read_buffer_header( const void *buf, const size_t len, printf( "vips__magick_read_buffer_header: pinging blob ...\n" ); #endif /*DEBUG*/ - read->image = PingBlob( read->image_info, buf, len, &read->exception ); + read->image = BlobToImage( read->image_info, + buf, len, &read->exception ); if( !read->image ) { vips_error( "magick2vips", _( "unable to ping blob\n" "libMagick error: %s %s" ),