Changeset 1210


Ignore:
Timestamp:
02/15/10 12:47:27 (3 years ago)
Author:
cristy
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ImageMagick/trunk/magick/cache.c

    r1209 r1210  
    21822182  cache_info=(CacheInfo *) image->cache; 
    21832183  destroy=MagickFalse; 
    2184   LockSemaphoreInfo(cache_info->semaphore); 
    21852184  if ((cache_info->reference_count > 1) || (cache_info->mode == ReadMode)) 
    21862185    { 
    2187       Image 
    2188         clone_image; 
    2189  
    2190       CacheInfo 
    2191         *clone_info; 
    2192  
    2193       /* 
    2194         Clone pixel cache. 
    2195       */ 
    2196       clone_image=(*image); 
    2197       clone_image.cache=ClonePixelCache(cache_info); 
    2198       clone_info=(CacheInfo *) clone_image.cache; 
    2199       status=ClonePixelCacheNexus(cache_info,clone_info,exception); 
    2200       if (status != MagickFalse) 
     2186      LockSemaphoreInfo(cache_info->semaphore); 
     2187      if ((cache_info->reference_count > 1) || (cache_info->mode == ReadMode)) 
    22012188        { 
    2202           status=OpenPixelCache(&clone_image,IOMode,exception); 
     2189          Image 
     2190            clone_image; 
     2191 
     2192          CacheInfo 
     2193            *clone_info; 
     2194 
     2195          /* 
     2196            Clone pixel cache. 
     2197          */ 
     2198          clone_image=(*image); 
     2199          clone_image.cache=ClonePixelCache(cache_info); 
     2200          clone_info=(CacheInfo *) clone_image.cache; 
     2201          status=ClonePixelCacheNexus(cache_info,clone_info,exception); 
    22032202          if (status != MagickFalse) 
    22042203            { 
    2205               if (clone != MagickFalse) 
    2206                 status=ClonePixelCachePixels(clone_info,cache_info,exception); 
     2204              status=OpenPixelCache(&clone_image,IOMode,exception); 
    22072205              if (status != MagickFalse) 
    22082206                { 
    2209                   destroy=MagickTrue; 
    2210                   image->cache=clone_image.cache; 
     2207                  if (clone != MagickFalse) 
     2208                    status=ClonePixelCachePixels(clone_info,cache_info, 
     2209                      exception); 
     2210                  if (status != MagickFalse) 
     2211                    { 
     2212                      destroy=MagickTrue; 
     2213                      image->cache=clone_image.cache; 
     2214                    } 
    22112215                } 
    22122216            } 
    22132217        } 
    2214     } 
    2215   UnlockSemaphoreInfo(cache_info->semaphore); 
     2218      UnlockSemaphoreInfo(cache_info->semaphore); 
     2219    } 
    22162220  if (destroy != MagickFalse) 
    22172221    cache_info=(CacheInfo *) DestroyPixelCache(cache_info); 
Note: See TracChangeset for help on using the changeset viewer.