From: cristy Date: Wed, 9 Nov 2011 22:50:49 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~6662 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7e3eb0a4ab87b2a8e44524e759801f79cb3743b2;p=imagemagick --- diff --git a/coders/tiff.c b/coders/tiff.c index 79ddc5354..134a76318 100644 --- a/coders/tiff.c +++ b/coders/tiff.c @@ -739,25 +739,6 @@ static toff_t TIFFSeekBlob(thandle_t image,toff_t offset,int whence) return((toff_t) SeekBlob((Image *) image,(MagickOffsetType) offset,whence)); } -#if defined(MAGICKCORE_HAVE_TIFFMERGEFIELDINFO) && defined(MAGICKCORE_HAVE_TIFFSETTAGEXTENDER) -static TIFFExtendProc - tiff_extensions = (TIFFExtendProc) NULL; - -static void TIFFTagExtender(TIFF *tiff) -{ - static const TIFFFieldInfo - TIFFExtensions[] = - { - { 37724, -3, -3, TIFF_UNDEFINED, FIELD_CUSTOM, 1, 1, "PhotoshopLayerData" } - }; - - TIFFMergeFieldInfo(tiff,TIFFExtensions,sizeof(TIFFExtensions)/ - sizeof(*TIFFExtensions)); - if (tiff_extensions != (TIFFExtendProc) NULL) - (*tiff_extensions)(tiff); -} -#endif - static void TIFFUnmapBlob(thandle_t image,tdata_t base,toff_t size) { (void) image; @@ -895,10 +876,6 @@ static Image *ReadTIFFImage(const ImageInfo *image_info, image_info->filename); assert(exception != (ExceptionInfo *) NULL); assert(exception->signature == MagickSignature); -#if defined(MAGICKCORE_HAVE_TIFFMERGEFIELDINFO) && defined(MAGICKCORE_HAVE_TIFFSETTAGEXTENDER) - if (tiff_extensions == (TIFFExtendProc) NULL) - tiff_extensions=TIFFSetTagExtender(TIFFTagExtender); -#endif image=AcquireImage(image_info,exception); status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception); if (status == MagickFalse) @@ -1772,6 +1749,26 @@ static Image *ReadTIFFImage(const ImageInfo *image_info, % size_t RegisterTIFFImage(void) % */ + +#if defined(MAGICKCORE_HAVE_TIFFMERGEFIELDINFO) && defined(MAGICKCORE_HAVE_TIFFSETTAGEXTENDER) +static TIFFExtendProc + tiff_extensions = (TIFFExtendProc) NULL; + +static void TIFFTagExtender(TIFF *tiff) +{ + static const TIFFFieldInfo + TIFFExtensions[] = + { + { 37724, -3, -3, TIFF_UNDEFINED, FIELD_CUSTOM, 1, 1, "PhotoshopLayerData" } + }; + + TIFFMergeFieldInfo(tiff,TIFFExtensions,sizeof(TIFFExtensions)/ + sizeof(*TIFFExtensions)); + if (tiff_extensions != (TIFFExtendProc) NULL) + (*tiff_extensions)(tiff); +} +#endif + ModuleExport size_t RegisterTIFFImage(void) { #define TIFFDescription "Tagged Image File Format" @@ -1789,6 +1786,10 @@ ModuleExport size_t RegisterTIFFImage(void) { if (MagickCreateThreadKey(&tiff_exception) == MagickFalse) ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); +#if defined(MAGICKCORE_HAVE_TIFFMERGEFIELDINFO) && defined(MAGICKCORE_HAVE_TIFFSETTAGEXTENDER) + if (tiff_extensions == (TIFFExtendProc) NULL) + tiff_extensions=TIFFSetTagExtender(TIFFTagExtender); +#endif instantiate_key=MagickTrue; } UnlockSemaphoreInfo(tiff_semaphore);