Bug 628497 - Crash in pango_layout_line_get_extents at pango-layout.c
authorBehdad Esfahbod <behdad@behdad.org>
Tue, 28 Sep 2010 01:07:34 +0000 (21:07 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Tue, 28 Sep 2010 01:07:34 +0000 (21:07 -0400)
Cleanup LINE_IS_VALID() usage.

pango/pango-layout.c

index c60c7e8..4cf00a1 100644 (file)
@@ -133,7 +133,7 @@ struct _PangoLayoutClass
 
 };
 
-#define LINE_IS_VALID(line) ((line)->layout != NULL)
+#define LINE_IS_VALID(line) ((line) && (line)->layout != NULL)
 
 #ifdef G_DISABLE_CHECKS
 #define ITER_IS_INVALID(iter) FALSE
@@ -3987,12 +3987,8 @@ pango_layout_line_x_to_index (PangoLayoutLine *line,
   gint last_trailing;
   gboolean suppress_last_trailing;
 
-  g_return_val_if_fail (line != NULL, FALSE);
   g_return_val_if_fail (LINE_IS_VALID (line), FALSE);
 
-  if (!LINE_IS_VALID (line))
-    return FALSE;
-
   layout = line->layout;
 
   /* Find the last index in the line
@@ -4557,9 +4553,6 @@ pango_layout_line_get_extents (PangoLayoutLine *line,
 
   g_return_if_fail (LINE_IS_VALID (line));
 
-  if (!LINE_IS_VALID (line))
-    return;
-
   if (G_UNLIKELY (!ink_rect && !logical_rect))
     return;