From: cristy Date: Wed, 12 May 2010 16:30:26 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~9478 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9ce61b93630939852a544599c8155f8dba97339a;p=imagemagick --- diff --git a/ChangeLog b/ChangeLog index d57f426d7..f601906e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2010-05-12 6.6.1-8 Cristy + * Increase the estimated # points for the path drawing primitive. + 2010-05-12 6.6.1-8 Anthony Thyssen * Implementation of Pattern Matching Morphology methods HitAndMiss, Thicken, Thinning diff --git a/magick/artifact.c b/magick/artifact.c index ca4cb786b..6ec9a884f 100644 --- a/magick/artifact.c +++ b/magick/artifact.c @@ -248,8 +248,7 @@ MagickExport void DestroyImageArtifacts(Image *image) % % GetImageArtifact() gets a value associated with an image artifact. % -% WARNING: The pointer returned points directly to stored values. -% Do not free the memory they pointed to. +% Note, the artifact is a constant. Do not attempt to free it. % % The format of the GetImageArtifact method is: % diff --git a/magick/draw.c b/magick/draw.c index ce8b658b4..8ec44e72a 100644 --- a/magick/draw.c +++ b/magick/draw.c @@ -2886,7 +2886,7 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info) } length++; } - length=6*(3*length/2+BezierQuantum)+360+1; + length=k*BezierQuantum; break; } case CirclePrimitive: @@ -2912,8 +2912,7 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info) /* Resize based on speculative points required by primitive. */ - while ((unsigned long) (i+length) >= number_points) - number_points<<=1; + number_points+=length+1; primitive_info=(PrimitiveInfo *) ResizeQuantumMemory(primitive_info, (size_t) number_points,sizeof(*primitive_info)); if (primitive_info == (PrimitiveInfo *) NULL) @@ -3111,9 +3110,9 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info) graphic_context[n]->bounds.y2=point.y; if (primitive_info[i].primitive == ImagePrimitive) break; + if (i >= (long) number_points) + ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); } - if (i >= (long) number_points) - ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); if (graphic_context[n]->render != MagickFalse) { if ((n != 0) && (graphic_context[n]->clip_mask != (char *) NULL) && diff --git a/magick/morphology.c b/magick/morphology.c index 4f6b4c668..43e9e9dde 100644 --- a/magick/morphology.c +++ b/magick/morphology.c @@ -1322,6 +1322,7 @@ static unsigned long MorphologyPrimative(const Image *image, Image result.green = (MagickRealType) p[r].green; result.blue = (MagickRealType) p[r].blue; result.opacity = QuantumRange - (MagickRealType) p[r].opacity; + result.index = 0; if ( image->colorspace == CMYKColorspace) result.index = (MagickRealType) p_indexes[r]; diff --git a/magick/property.c b/magick/property.c index a1d79f9b2..2b224908a 100644 --- a/magick/property.c +++ b/magick/property.c @@ -2396,8 +2396,6 @@ MagickExport const char *GetMagickProperty(const ImageInfo *image_info, { if (LocaleNCompare("unique",property,6) == 0) { - if (*image_info->unique == '\0') - (void) AcquireUniqueFilename(image_info->unique); (void) CopyMagickString(filename,image_info->unique,MaxTextExtent); (void) CopyMagickString(value,filename,MaxTextExtent); break; diff --git a/magick/splay-tree.c b/magick/splay-tree.c index cdac5eb4d..7e755a864 100644 --- a/magick/splay-tree.c +++ b/magick/splay-tree.c @@ -751,7 +751,7 @@ MagickExport SplayTreeInfo *DestroySplayTree(SplayTreeInfo *splay_tree) % % The format of the GetNextKeyInSplayTree method is: % -% void *GetNextKeyInSplayTree(SplayTreeInfo *splay_tree) +% const void *GetNextKeyInSplayTree(SplayTreeInfo *splay_tree) % % A description of each parameter follows: % @@ -760,7 +760,7 @@ MagickExport SplayTreeInfo *DestroySplayTree(SplayTreeInfo *splay_tree) % o key: the key. % */ -MagickExport void *GetNextKeyInSplayTree(SplayTreeInfo *splay_tree) +MagickExport const void *GetNextKeyInSplayTree(SplayTreeInfo *splay_tree) { register NodeInfo *node; @@ -805,7 +805,7 @@ MagickExport void *GetNextKeyInSplayTree(SplayTreeInfo *splay_tree) % % The format of the GetNextValueInSplayTree method is: % -% void *GetNextValueInSplayTree(SplayTreeInfo *splay_tree) +% const void *GetNextValueInSplayTree(SplayTreeInfo *splay_tree) % % A description of each parameter follows: % @@ -814,7 +814,7 @@ MagickExport void *GetNextKeyInSplayTree(SplayTreeInfo *splay_tree) % o key: the key. % */ -MagickExport void *GetNextValueInSplayTree(SplayTreeInfo *splay_tree) +MagickExport const void *GetNextValueInSplayTree(SplayTreeInfo *splay_tree) { register NodeInfo *node; @@ -857,12 +857,12 @@ MagickExport void *GetNextValueInSplayTree(SplayTreeInfo *splay_tree) % % GetValueFromSplayTree() gets a value from the splay-tree by its key. % -% WARNING: The pointer returned points directly into the values stored in -% tree. Do not free the memory pointed to. +% Note, the value is a constant. Do not attempt to free it. % % The format of the GetValueFromSplayTree method is: % -% void *GetValueFromSplayTree(SplayTreeInfo *splay_tree,const void *key) +% const void *GetValueFromSplayTree(SplayTreeInfo *splay_tree, +% const void *key) % % A description of each parameter follows: % @@ -871,7 +871,7 @@ MagickExport void *GetNextValueInSplayTree(SplayTreeInfo *splay_tree) % o key: the key. % */ -MagickExport void *GetValueFromSplayTree(SplayTreeInfo *splay_tree, +MagickExport const void *GetValueFromSplayTree(SplayTreeInfo *splay_tree, const void *key) { int diff --git a/magick/splay-tree.h b/magick/splay-tree.h index 0969fedf0..64fa7f321 100644 --- a/magick/splay-tree.h +++ b/magick/splay-tree.h @@ -30,6 +30,9 @@ extern MagickExport MagickBooleanType DeleteNodeByValueFromSplayTree(SplayTreeInfo *,const void *), DeleteNodeFromSplayTree(SplayTreeInfo *,const void *); +extern MagickExport const void + *GetValueFromSplayTree(SplayTreeInfo *,const void *); + extern MagickExport int CompareSplayTreeString(const void *,const void *), CompareSplayTreeStringInfo(const void *,const void *); @@ -46,7 +49,6 @@ extern MagickExport unsigned long extern MagickExport void *GetNextKeyInSplayTree(SplayTreeInfo *), *GetNextValueInSplayTree(SplayTreeInfo *), - *GetValueFromSplayTree(SplayTreeInfo *,const void *), *RemoveNodeByValueFromSplayTree(SplayTreeInfo *,const void *), *RemoveNodeFromSplayTree(SplayTreeInfo *,const void *), ResetSplayTree(SplayTreeInfo *),