From 3dedf068dce3a234bfb7876510dfdbc38d1019cd Mon Sep 17 00:00:00 2001 From: cristy Date: Sat, 2 Jul 2011 14:07:40 +0000 Subject: [PATCH] --- MagickCore/cache.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/MagickCore/cache.c b/MagickCore/cache.c index bd06694cc..f03346084 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -791,14 +791,14 @@ static MagickBooleanType DiskToDiskPixelCacheClone(CacheInfo *clone_info, cache_info->filename); return(MagickFalse); } - if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse) + if (OpenPixelCacheOnDisk(cache_info,ReadMode) == MagickFalse) { blob=(unsigned char *) RelinquishMagickMemory(blob); ThrowFileException(exception,FileOpenError,"UnableToOpenFile", cache_info->cache_filename); return(MagickFalse); } - if (OpenPixelCacheOnDisk(clone_info,IOMode) == MagickFalse) + if (OpenPixelCacheOnDisk(clone_info,WriteMode) == MagickFalse) { (void) ClosePixelCacheOnDisk(cache_info); blob=(unsigned char *) RelinquishMagickMemory(blob); @@ -972,7 +972,13 @@ static MagickBooleanType UnoptimizedPixelCacheClone(CacheInfo *clone_info, } if (clone_info->type == DiskCache) { - if (OpenPixelCacheOnDisk(clone_info,IOMode) == MagickFalse) + if ((cache_info->type == DiskCache) && + (strcmp(cache_info->cache_filename,clone_info->cache_filename) == 0)) + { + (void) ClosePixelCacheOnDisk(clone_info); + *clone_info->cache_filename='\0'; + } + if (OpenPixelCacheOnDisk(clone_info,WriteMode) == MagickFalse) { if (cache_info->type == DiskCache) (void) ClosePixelCacheOnDisk(cache_info); @@ -4108,12 +4114,6 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, "CacheResourcesExhausted","`%s'",image->filename); return(MagickFalse); } - if (cache_info->type == DiskCache) - { - (void) ClosePixelCacheOnDisk(cache_info); - *cache_info->cache_filename='\0'; - status=DiskToDiskPixelCacheClone(cache_info,&source_info,exception); - } if (OpenPixelCacheOnDisk(cache_info,mode) == MagickFalse) { RelinquishMagickResource(DiskResource,cache_info->length); -- 2.40.0