Bug 330795 – pango_renderer_draw_glyph segfaults when trying to call the
authorBehdad Esfahbod <behdad@gnome.org>
Sat, 11 Feb 2006 20:34:14 +0000 (20:34 +0000)
committerBehdad Esfahbod <behdad@src.gnome.org>
Sat, 11 Feb 2006 20:34:14 +0000 (20:34 +0000)
2006-02-11  Behdad Esfahbod  <behdad@gnome.org>

        Bug 330795 – pango_renderer_draw_glyph segfaults when trying to call
        the class vfunc
        Opened by Torsten Schoenfeld

        * pango/pango-renderer.c (pango_renderer_draw_trapezoid,
        pango_renderer_draw_glyph): Bail if method is not implemented.

ChangeLog
pango/pango-renderer.c

index 9e4b6f6..bf67dfa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2006-02-11  Behdad Esfahbod  <behdad@gnome.org>
 
+       Bug 330795 – pango_renderer_draw_glyph segfaults when trying to call
+       the class vfunc
+       Opened by Torsten Schoenfeld
+
+       * pango/pango-renderer.c (pango_renderer_draw_trapezoid,
+       pango_renderer_draw_glyph): Bail if method is not implemented.
+
+2006-02-11  Behdad Esfahbod  <behdad@gnome.org>
+
        * === Released 1.11.5 ===
 
        * configure.in: Version 1.11.5
index 67bef8c..cdb876f 100644 (file)
@@ -938,9 +938,10 @@ pango_renderer_draw_trapezoid (PangoRenderer  *renderer,
   g_return_if_fail (PANGO_IS_RENDERER (renderer));
   g_return_if_fail (renderer->active_count > 0);
   
-  PANGO_RENDERER_GET_CLASS (renderer)->draw_trapezoid (renderer, part,
-                                                      y1_, x11, x21,
-                                                      y2, x12, x22);
+  if (PANGO_RENDERER_GET_CLASS (renderer)->draw_trapezoid)
+    PANGO_RENDERER_GET_CLASS (renderer)->draw_trapezoid (renderer, part,
+                                                        y1_, x11, x21,
+                                                        y2, x12, x22);
 }
 
 /**
@@ -968,7 +969,8 @@ pango_renderer_draw_glyph (PangoRenderer *renderer,
   if (glyph == PANGO_GLYPH_EMPTY) /* glyph PANGO_GLYPH_EMPTY never renders */
     return;
   
-  PANGO_RENDERER_GET_CLASS (renderer)->draw_glyph (renderer, font, glyph, x, y);
+  if (PANGO_RENDERER_GET_CLASS (renderer)->draw_glyph)
+    PANGO_RENDERER_GET_CLASS (renderer)->draw_glyph (renderer, font, glyph, x, y);
 }
 
 /**