From 087a059e56eec2efedefdceb6b52a093e4589dde Mon Sep 17 00:00:00 2001 From: Cristy Date: Sun, 30 Aug 2015 16:40:35 -0400 Subject: [PATCH] The -composite option with mask is a 3 step operation, only use offset once --- MagickCore/nt-base.h | 21 ++++++++++++++------- MagickWand/mogrify.c | 2 +- MagickWand/operation.c | 2 +- tests/validate.h | 2 ++ 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/MagickCore/nt-base.h b/MagickCore/nt-base.h index e23f5cb6b..9eeaa416d 100644 --- a/MagickCore/nt-base.h +++ b/MagickCore/nt-base.h @@ -102,13 +102,15 @@ extern "C" { #endif #if !defined(fseek) && !defined(__MINGW32__) && !defined(__MINGW64__) #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \ - !(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800) + !(defined(_MSC_VER) && (_MSC_VER < 1400)) && \ + !(defined(__MSVCRT_VERSION__) && (__MSVCRT_VERSION__ < 0x800)) # define fseek _fseeki64 #endif #endif #if !defined(fstat) && !defined(__BORLANDC__) #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \ - !(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800) + !(defined(_MSC_VER) && (_MSC_VER < 1400)) && \ + !(defined(__MSVCRT_VERSION__) && (__MSVCRT_VERSION__ < 0x800)) # define fstat _fstati64 #else # define fstat _fstat @@ -119,7 +121,8 @@ extern "C" { #endif #if !defined(ftell) && !defined(__MINGW32__) && !defined(__MINGW64__) #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \ - !(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800) + !(defined(_MSC_VER) && (_MSC_VER < 1400)) && \ + !(defined(__MSVCRT_VERSION__) && (__MSVCRT_VERSION__ < 0x800)) # define ftell _ftelli64 #endif #endif @@ -145,7 +148,8 @@ extern "C" { #define locale_t _locale_t #endif #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \ - !(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800) + !(defined(_MSC_VER) && (_MSC_VER < 1400)) && \ + !(defined(__MSVCRT_VERSION__) && (__MSVCRT_VERSION__ < 0x800)) #if !defined(lseek) # define lseek _lseeki64 #endif @@ -225,7 +229,8 @@ extern "C" { #endif #if !defined(stat) && !defined(__BORLANDC__) #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \ - !(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800) + !(defined(_MSC_VER) && (_MSC_VER < 1400)) && \ + !(defined(__MSVCRT_VERSION__) && (__MSVCRT_VERSION__ < 0x800)) # define stat _stati64 #else # define stat _stat @@ -241,7 +246,8 @@ extern "C" { # define sysconf(name) NTSystemConfiguration(name) #endif #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \ - !(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800) + !(defined(_MSC_VER) && (_MSC_VER < 1400)) && \ + !(defined(__MSVCRT_VERSION__) && (__MSVCRT_VERSION__ < 0x800)) # define tell _telli64 #else # define tell _tell @@ -274,7 +280,8 @@ extern "C" { #endif #if !defined(wstat) && !defined(__BORLANDC__) #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \ - !(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800) + !(defined(_MSC_VER) && (_MSC_VER < 1400)) && \ + !(defined(__MSVCRT_VERSION__) && (__MSVCRT_VERSION__ < 0x800)) # define wstat _wstati64 #else # define wstat _wstat diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c index f94a01ad0..4790c7bb1 100644 --- a/MagickWand/mogrify.c +++ b/MagickWand/mogrify.c @@ -7926,7 +7926,7 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info, status&=CompositeImage(image,mask_image, CopyAlphaCompositeOp,MagickTrue,0,0,exception); status&=CompositeImage(clone_image,image,OverCompositeOp, - clip_to_self,geometry.x,geometry.y,exception); + clip_to_self,0,0,exception); image=DestroyImage(image); image=clone_image; } diff --git a/MagickWand/operation.c b/MagickWand/operation.c index e2174a8fc..1e2bcaa74 100644 --- a/MagickWand/operation.c +++ b/MagickWand/operation.c @@ -3886,7 +3886,7 @@ WandPrivate MagickBooleanType CLIListOperatorImages(MagickCLI *cli_wand, status&=CompositeImage(new_images,mask_image, CopyAlphaCompositeOp,MagickTrue,0,0,_exception); status&=CompositeImage(clone_image,new_images,OverCompositeOp, - clip_to_self,geometry.x,geometry.y,_exception); + clip_to_self,0,0,_exception); new_images=DestroyImage(new_images); new_images=clone_image; } diff --git a/tests/validate.h b/tests/validate.h index 707fe53ce..4e7d90560 100644 --- a/tests/validate.h +++ b/tests/validate.h @@ -239,6 +239,8 @@ static const struct ReferenceFormats { "ART", UndefinedCompression, 0.0 }, { "AVS", UndefinedCompression, 0.0 }, { "BMP", UndefinedCompression, 0.0 }, + { "BMP2", UndefinedCompression, 0.0 }, + { "BMP3", UndefinedCompression, 0.0 }, { "CIN", UndefinedCompression, 0.0 }, { "CMYK", UndefinedCompression, 0.0 }, { "CMYKA", UndefinedCompression, 0.0 }, -- 2.50.0