From: cristy Date: Mon, 15 Mar 2010 17:50:24 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~9796 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=924c8720097f683bc4b32a59a5bd0e5bc44bd12e;p=imagemagick --- diff --git a/magick/constitute.c b/magick/constitute.c index 73c17edcf..7eea55d20 100644 --- a/magick/constitute.c +++ b/magick/constitute.c @@ -529,6 +529,10 @@ MagickExport Image *ReadImage(const ImageInfo *image_info, delegate_info=GetDelegateInfo(read_info->magick,(char *) NULL,exception); if (delegate_info == (const DelegateInfo *) NULL) { +read_info->affirm=0; + (void) SetImageInfo(read_info,1,exception); + magick_info=GetMagickInfo(read_info->magick,exception); +printf("%p\n",magick_info); if (IsPathAccessible(read_info->filename) != MagickFalse) (void) ThrowMagickException(exception,GetMagickModule(), MissingDelegateError,"NoDecodeDelegateForThisImageFormat","`%s'", @@ -1150,9 +1154,28 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, } if ((magick_info == (const MagickInfo *) NULL) || (GetImageEncoder(magick_info) == (EncodeImageHandler *) NULL)) - (void) ThrowMagickException(&image->exception,GetMagickModule(), - MissingDelegateError,"NoEncodeDelegateForThisImageFormat","`%s'", - image->filename); + { + magick_info=GetMagickInfo(image->magick,&image->exception); + if ((magick_info == (const MagickInfo *) NULL) || + (GetImageEncoder(magick_info) == (EncodeImageHandler *) NULL)) + (void) ThrowMagickException(&image->exception,GetMagickModule(), + MissingDelegateError,"NoEncodeDelegateForThisImageFormat", + "`%s'",image->filename); + else + { + /* + Call appropriate image writer based on image type. + */ + (void) CopyMagickString(image->filename,filename, + MaxTextExtent); + thread_support=GetMagickThreadSupport(magick_info); + if ((thread_support & EncoderThreadSupport) == 0) + LockSemaphoreInfo(constitute_semaphore); + status=GetImageEncoder(magick_info)(write_info,image); + if ((thread_support & EncoderThreadSupport) == 0) + UnlockSemaphoreInfo(constitute_semaphore); + } + } else { /*