From: Cristy Date: Sat, 24 Feb 2018 02:03:25 +0000 (-0500) Subject: ... X-Git-Tag: 7.0.7-24~17 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=059a2f4278b65da02dbb85b45d1b86070f220c21;p=imagemagick ... --- diff --git a/MagickCore/draw.c b/MagickCore/draw.c index f0301ad5f..a3f06dc98 100644 --- a/MagickCore/draw.c +++ b/MagickCore/draw.c @@ -1737,6 +1737,7 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info, number_stops; ssize_t + defsDepth, j, k, n; @@ -1803,6 +1804,7 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info, extent=strlen(token)+MagickPathExtent; if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse) return(MagickFalse); + defsDepth=0; status=MagickTrue; for (q=primitive; *q != '\0'; ) { @@ -2287,7 +2289,12 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info, if (LocaleCompare("clip-path",token) == 0) break; if (LocaleCompare("defs",token) == 0) - break; + { + defsDepth--; + graphic_context[n]->render=defsDepth > 0 ? MagickFalse : + MagickTrue; + break; + } if (LocaleCompare("gradient",token) == 0) break; if (LocaleCompare("graphic-context",token) == 0) @@ -2506,7 +2513,12 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info, break; } if (LocaleCompare("defs",token) == 0) - break; + { + defsDepth++; + graphic_context[n]->render=defsDepth > 0 ? MagickFalse : + MagickTrue; + break; + } status=MagickFalse; break; }