]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Fri, 11 Sep 2009 18:49:48 +0000 (18:49 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Fri, 11 Sep 2009 18:49:48 +0000 (18:49 +0000)
ChangeLog
magick/image.c
magick/thread-private.h

index fe8642bfadd7492ffafa694e8e23e0f05bee8934..10b4c1bee745c42c979e02f3a1f8d45cd4c4ba70 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-09-11  6.5.5-10 Cristy  <quetzlzacatenango@image...>
+  * Return the global maximum threads to avoid the rare cache view assertions.
+
+2009-09-10  6.5.5-9 Cristy  <quetzlzacatenango@image...>
+  * Do not include last line of text in the interline spacing computation.
+
 2009-09-07  6.5.5-8 Cristy  <quetzlzacatenango@image...>
   * Check that quantum_info is defined before destroying it in the PNG coder.
   * Add -interline-spacing option to convert.
index 35e1a9cf17aa433d1c35a063c6d87d54b1e80953..01f4f7f93ae7b86248cc364ae653e2b26547d367 100644 (file)
@@ -779,6 +779,7 @@ MagickExport Image *AverageImages(const Image *image,ExceptionInfo *exception)
 
     register long
       i,
+      id,
       x;
 
     register MagickPixelPacket
@@ -798,7 +799,8 @@ MagickExport Image *AverageImages(const Image *image,ExceptionInfo *exception)
       }
     average_indexes=GetCacheViewAuthenticIndexQueue(average_view);
     pixel=zero;
-    average_pixel=average_pixels[GetOpenMPThreadId()];
+    id=GetOpenMPThreadId();
+    average_pixel=average_pixels[id];
     for (x=0; x < (long) average_image->columns; x++)
       average_pixel[x]=zero;
     next=image;
index 2bec78466b7bca0daea6cb0f1a9957b3ec70d4b5..5ae3dbeb4ac490b4406d5468ddc0b7b277d0f55d 100644 (file)
@@ -88,7 +88,14 @@ static inline MagickBooleanType IsMagickThreadEqual(const MagickThreadType id)
 static inline unsigned long GetOpenMPMaximumThreads(void)
 {
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
-  return((unsigned long) omp_get_max_threads());
+  {
+    static unsigned long
+      maximum_threads = 1UL;
+
+    if (omp_get_max_threads() > (long) maximum_threads)
+      maximum_threads=omp_get_max_threads();
+    return(maximum_threads);
+  }
 #endif
   return(1UL);
 }