From: cristy Date: Mon, 18 Mar 2013 23:55:01 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~4057 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d5be1f1d1905f42092387637212381576cf9b3cd;p=imagemagick --- diff --git a/MagickCore/image.c b/MagickCore/image.c index 55974729b..1050897de 100644 --- a/MagickCore/image.c +++ b/MagickCore/image.c @@ -3060,12 +3060,18 @@ MagickExport MagickBooleanType SetImageMask(Image *image,const Image *mask, if (mask == (const Image *) NULL) { image->mask=MagickFalse; - return(MagickTrue); + return(SyncImagePixelCache(image,exception)); } - status=MagickTrue; image->mask=MagickTrue; + if (SyncImagePixelCache(image,exception) == MagickFalse) + return(MagickFalse); + status=MagickTrue; mask_view=AcquireVirtualCacheView(mask,exception); image_view=AcquireAuthenticCacheView(image,exception); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp parallel for schedule(static,4) shared(status) \ + magick_threads(mask,image,1,1) +#endif for (y=0; y < (ssize_t) image->rows; y++) { register const Quantum @@ -3088,7 +3094,7 @@ MagickExport MagickBooleanType SetImageMask(Image *image,const Image *mask, } for (x=0; x < (ssize_t) image->columns; x++) { - SetPixelMask(image,GetPixelGray(mask,p),q); + SetPixelMask(image,ClampToQuantum(GetPixelIntensity(mask,p)),q); p+=GetPixelChannels(mask); q+=GetPixelChannels(image); }