ExceptionInfo
*exception;
-
- size_t
- signature;
} CMSExceptionInfo;
\f
/*
static cmsHTRANSFORM *AcquireTransformThreadSet(Image *image,
const cmsHPROFILE source_profile,const cmsUInt32Number source_type,
const cmsHPROFILE target_profile,const cmsUInt32Number target_type,
- const int intent,const cmsUInt32Number flags)
+ const int intent,const cmsUInt32Number flags,
+ CMSExceptionInfo *cms_exception)
{
cmsHTRANSFORM
*transform;
(void) memset(transform,0,number_threads*sizeof(*transform));
for (i=0; i < (ssize_t) number_threads; i++)
{
- transform[i]=cmsCreateTransformTHR((cmsContext) image,source_profile,
- source_type,target_profile,target_type,intent,flags);
+ transform[i]=cmsCreateTransformTHR((cmsContext) cms_exception,
+ source_profile,source_type,target_profile,target_type,intent,flags);
if (transform[i] == (cmsHTRANSFORM) NULL)
return(DestroyTransformThreadSet(transform));
}
cms_exception=(CMSExceptionInfo *) context;
if (cms_exception == (CMSExceptionInfo *) NULL)
return;
- if (cms_exception->signature != MagickCoreSignature)
- return;
exception=cms_exception->exception;
if (exception == (ExceptionInfo *) NULL)
return;
cmsSetLogErrorHandler(CMSExceptionHandler);
cms_exception.image=image;
cms_exception.exception=exception;
- cms_exception.signature=MagickCoreSignature;
(void) cms_exception;
source_profile=cmsOpenProfileFromMemTHR((cmsContext) &cms_exception,
GetStringInfoDatum(profile),(cmsUInt32Number)
flags|=cmsFLAGS_BLACKPOINTCOMPENSATION;
#endif
transform=AcquireTransformThreadSet(image,source_profile,
- source_type,target_profile,target_type,intent,flags);
+ source_type,target_profile,target_type,intent,flags,
+ &cms_exception);
if (transform == (cmsHTRANSFORM *) NULL)
ThrowProfileException(ImageError,"UnableToCreateColorTransform",
name);