From c4527a8e0c930fd244c293129cf0eefd1e9a2c05 Mon Sep 17 00:00:00 2001 From: cristy Date: Mon, 8 Jul 2013 18:18:50 +0000 Subject: [PATCH] --- MagickCore/cache.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/MagickCore/cache.c b/MagickCore/cache.c index 0a1369d5c..cf46e66e8 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -516,12 +516,26 @@ static MagickBooleanType ClonePixelCacheRepository( (memcmp(cache_info->channel_map,clone_info->channel_map,length) == 0) && (cache_info->metacontent_extent == clone_info->metacontent_extent)) { + MagickSizeType + extent; + /* Identical pixel cache morphology. */ - (void) memcpy(clone_info->pixels,cache_info->pixels,cache_info->columns* - cache_info->number_channels*cache_info->rows* + extent=cache_info->columns*cache_info->number_channels*cache_info->rows; +#if !defined(MAGICKCORE_OPENMP_SUPPORT) || (MAGICKCORE_QUANTUM_DEPTH <= 8) + (void) memcpy(clone_info->pixels,cache_info->pixels,extent* sizeof(*cache_info->pixels)); +#else + { + register MagickSizeType + i; + + #pragma omp parallel for + for (i=0; i < extent; i++) + clone_info->pixels[i]=cache_info->pixels[i]; + } +#endif if (cache_info->metacontent_extent != 0) (void) memcpy(clone_info->metacontent,cache_info->metacontent, cache_info->columns*cache_info->rows*clone_info->metacontent_extent* -- 2.40.0