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,