From 0f4425e8d321ef7730223f2a2a91edacb7b35a55 Mon Sep 17 00:00:00 2001 From: cristy Date: Sat, 31 Dec 2011 20:33:02 +0000 Subject: [PATCH] --- MagickCore/cache.c | 52 ++++++++++++-------------------------------- MagickCore/segment.c | 1 - 2 files changed, 14 insertions(+), 39 deletions(-) diff --git a/MagickCore/cache.c b/MagickCore/cache.c index f591a1fde..8dda3b959 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -919,9 +919,6 @@ static MagickBooleanType UnoptimizedPixelCacheClone(CacheInfo *clone_info, clone_offset, count; - Quantum - sans; - register ssize_t x; @@ -975,7 +972,6 @@ static MagickBooleanType UnoptimizedPixelCacheClone(CacheInfo *clone_info, } cache_offset=cache_info->offset; } -if (0) if ((cache_info->type != MemoryCache) && (clone_info->type != MemoryCache) && (strcmp(cache_info->cache_filename,clone_info->cache_filename) == 0)) { @@ -1008,7 +1004,6 @@ if (0) /* Clone pixel channels. */ - sans=0; status=MagickTrue; for (y=0; y < (ssize_t) cache_info->rows; y++) { @@ -1054,35 +1049,21 @@ if (0) traits=cache_info->channel_map[channel].traits; if (traits == UndefinedPixelTrait) { - if (clone_info->type != DiskCache) - (void) memcpy((unsigned char *) clone_info->pixels+clone_offset, - (unsigned char *) &sans,sizeof(Quantum)); - else - { - count=WritePixelCacheRegion(clone_info,clone_offset, - sizeof(Quantum),(unsigned char *) &sans); - if ((MagickSizeType) count != sizeof(Quantum)) - { - status=MagickFalse; - break; - } - } + clone_offset+=sizeof(Quantum); + continue; } + offset=cache_info->channel_map[channel].offset; + if (clone_info->type != DiskCache) + (void) memcpy((unsigned char *) clone_info->pixels+clone_offset, + blob+offset*sizeof(Quantum),sizeof(Quantum)); else { - offset=cache_info->channel_map[channel].offset; - if (clone_info->type != DiskCache) - (void) memcpy((unsigned char *) clone_info->pixels+clone_offset, - blob+offset*sizeof(Quantum),sizeof(Quantum)); - else + count=WritePixelCacheRegion(clone_info,clone_offset, + sizeof(Quantum),blob+offset*sizeof(Quantum)); + if ((MagickSizeType) count != sizeof(Quantum)) { - count=WritePixelCacheRegion(clone_info,clone_offset, - sizeof(Quantum),blob+offset*sizeof(Quantum)); - if ((MagickSizeType) count != sizeof(Quantum)) - { - status=MagickFalse; - break; - } + status=MagickFalse; + break; } } clone_offset+=sizeof(Quantum); @@ -4156,7 +4137,7 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, if (cache_info->metacontent_extent != 0) cache_info->metacontent=(void *) (cache_info->pixels+ number_pixels*cache_info->number_channels); - if (source_info.type != UndefinedCache) + if (source_info.storage_class != UndefinedClass) { status=ClonePixelCachePixels(cache_info,&source_info, exception); @@ -4177,11 +4158,6 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, "CacheResourcesExhausted","`%s'",image->filename); return(MagickFalse); } - if (source_info.type != UndefinedCache) - { - (void) ClosePixelCacheOnDisk(cache_info); - *cache_info->cache_filename='\0'; - } if (OpenPixelCacheOnDisk(cache_info,mode) == MagickFalse) { RelinquishMagickResource(DiskResource,cache_info->length); @@ -4229,7 +4205,7 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, if (cache_info->metacontent_extent != 0) cache_info->metacontent=(void *) (cache_info->pixels+ number_pixels*cache_info->number_channels); - if (source_info.type != UndefinedCache) + if (source_info.storage_class != UndefinedClass) { status=ClonePixelCachePixels(cache_info,&source_info, exception); @@ -4254,7 +4230,7 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, RelinquishMagickResource(MapResource,cache_info->length); } status=MagickTrue; - if (source_info.type != UndefinedCache) + if ((source_info.type != UndefinedCache) && (mode != ReadMode)) { status=ClonePixelCachePixels(cache_info,&source_info,exception); RelinquishPixelCachePixels(&source_info); diff --git a/MagickCore/segment.c b/MagickCore/segment.c index a59285455..1af173421 100644 --- a/MagickCore/segment.c +++ b/MagickCore/segment.c @@ -1833,7 +1833,6 @@ MagickExport MagickBooleanType SegmentImage(Image *image, /* Initialize histogram. */ - SyncImagePixelCache(image,exception); InitializeHistogram(image,histogram,exception); (void) OptimalTau(histogram[Red],Tau,0.2,DeltaTau, smooth_threshold == 0.0 ? 1.0 : smooth_threshold,extrema[Red]); -- 2.40.0