Changeset 1210
- Timestamp:
- 02/15/10 12:47:27 (3 years ago)
- File:
-
- 1 edited
-
ImageMagick/trunk/magick/cache.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
ImageMagick/trunk/magick/cache.c
r1209 r1210 2182 2182 cache_info=(CacheInfo *) image->cache; 2183 2183 destroy=MagickFalse; 2184 LockSemaphoreInfo(cache_info->semaphore);2185 2184 if ((cache_info->reference_count > 1) || (cache_info->mode == ReadMode)) 2186 2185 { 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)) 2201 2188 { 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); 2203 2202 if (status != MagickFalse) 2204 2203 { 2205 if (clone != MagickFalse) 2206 status=ClonePixelCachePixels(clone_info,cache_info,exception); 2204 status=OpenPixelCache(&clone_image,IOMode,exception); 2207 2205 if (status != MagickFalse) 2208 2206 { 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 } 2211 2215 } 2212 2216 } 2213 2217 } 2214 }2215 UnlockSemaphoreInfo(cache_info->semaphore);2218 UnlockSemaphoreInfo(cache_info->semaphore); 2219 } 2216 2220 if (destroy != MagickFalse) 2217 2221 cache_info=(CacheInfo *) DestroyPixelCache(cache_info);
Note: See TracChangeset
for help on using the changeset viewer.
