On Fri, 26 Sep 2014, László Böszörményi (GCS) wrote:

Hi Bob,

I got a report that drawtiming can't build[1] with newer
GraphicsMagick versions. The exact error is:
caught Magick++ exception: Magick: Non-conforming drawing primitive
definition (text) reported by magick/render.c:3022 (DrawImage)

If the following change is made to memory.txt in drawimage then it works.
-- cut --
-CS1 = 0, OE = 0, ADDR = "".
-OE -tOE> DATA = "";
+CS1 = 0, OE = 0, ADDR = " ".
+OE -tOE> DATA = " ";
-- cut --

Can it be a regression in GraphicsMagick or may be caused by something else?

It turns out that this issue was caused by improved error handling in render.c combined with a poor return status choice in AnnotateImage(). The attached patch solves the problem.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
diff -r 422d787a66c0 magick/annotate.c
--- a/magick/annotate.c Sun Aug 31 15:53:34 2014 -0500
+++ b/magick/annotate.c Fri Sep 26 10:08:58 2014 -0500
@@ -194,7 +194,7 @@
   if (draw_info->text == (char *) NULL)
     return(MagickFail);
   if (*draw_info->text == '\0')
-    return(MagickFail);
+    return(MagickPass);
   text=TranslateText((ImageInfo *) NULL,image,draw_info->text);
   if (text == (char *) NULL)
     ThrowBinaryException3(ResourceLimitError,MemoryAllocationFailed,

Reply via email to