diff options
-rw-r--r-- | pango/pango-layout.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/pango/pango-layout.c b/pango/pango-layout.c index 16783941..84dfb39f 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -3031,17 +3031,22 @@ ensure_tab_width (PangoLayout *layout) PangoAttribute *attr; PangoAttrList *layout_attrs; PangoAttrList *tmp_attrs; - PangoAttrIterator *iter; PangoFontDescription *font_desc = pango_font_description_copy_static (pango_context_get_font_description (layout->context)); - PangoLanguage *language; + PangoLanguage *language = NULL; PangoShapeFlags shape_flags = PANGO_SHAPE_NONE; if (pango_context_get_round_glyph_positions (layout->context)) shape_flags |= PANGO_SHAPE_ROUND_POSITIONS; layout_attrs = pango_layout_get_effective_attributes (layout); - iter = pango_attr_list_get_iterator (layout_attrs); - pango_attr_iterator_get_font (iter, font_desc, &language, NULL); + if (layout_attrs) + { + PangoAttrIterator *iter; + + iter = pango_attr_list_get_iterator (layout_attrs); + pango_attr_iterator_get_font (iter, font_desc, &language, NULL); + pango_attr_iterator_destroy (iter); + } tmp_attrs = pango_attr_list_new (); @@ -3057,7 +3062,6 @@ ensure_tab_width (PangoLayout *layout) items = pango_itemize (layout->context, " ", 0, 1, tmp_attrs, NULL); - pango_attr_iterator_destroy (iter); if (layout_attrs != layout->attrs) { pango_attr_list_unref (layout_attrs); |