From 059a2f4278b65da02dbb85b45d1b86070f220c21 Mon Sep 17 00:00:00 2001 From: Cristy Date: Fri, 23 Feb 2018 21:03:25 -0500 Subject: [PATCH] ... --- MagickCore/draw.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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; } -- 2.40.0