From ce1ca6db5d4fdbc42fbdbc540f0ba993b718eb10 Mon Sep 17 00:00:00 2001 From: cristy Date: Tue, 11 Dec 2012 17:16:44 +0000 Subject: [PATCH] --- MagickCore/cache.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/MagickCore/cache.c b/MagickCore/cache.c index dae02e80f..82257e048 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -1254,14 +1254,9 @@ MagickPrivate Cache DestroyPixelCache(Cache cache) cache_info->filename); (void) LogMagickEvent(CacheEvent,GetMagickModule(),"%s",message); } - if ((cache_info->mode == ReadMode) || ((cache_info->type != MapCache) && - (cache_info->type != DiskCache))) - RelinquishPixelCachePixels(cache_info); - else - { - RelinquishPixelCachePixels(cache_info); - (void) RelinquishUniqueFileResource(cache_info->cache_filename); - } + RelinquishPixelCachePixels(cache_info); + if ((cache_info->type == MapCache) || (cache_info->type == DiskCache)) + (void) RelinquishUniqueFileResource(cache_info->cache_filename); *cache_info->cache_filename='\0'; if (cache_info->nexus_info != (NexusInfo **) NULL) cache_info->nexus_info=DestroyPixelCacheNexus(cache_info->nexus_info, @@ -3916,6 +3911,8 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, { status=ClonePixelCachePixels(cache_info,&source_info,exception); RelinquishPixelCachePixels(&source_info); + if ((source_info.type == MapCache) || (source_info.type == DiskCache)) + (void) RelinquishUniqueFileResource(source_info.cache_filename); } if (image->debug != MagickFalse) { -- 2.50.1