diff options
-rw-r--r-- | pango/ellipsize.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pango/ellipsize.c b/pango/ellipsize.c index 1a7f8eb6..c58efc34 100644 --- a/pango/ellipsize.c +++ b/pango/ellipsize.c @@ -338,13 +338,19 @@ shape_ellipsis (EllipsizeState *state) /* Create an attribute list */ run_attrs = pango_attr_iterator_get_attrs (state->gap_start_attr); + int s, e; + pango_attr_iterator_range (state->gap_start_attr, &s, &e); for (l = run_attrs; l; l = l->next) { PangoAttribute *attr = l->data; attr->start_index = 0; attr->end_index = G_MAXINT; - pango_attr_list_insert (&attrs, attr); + if (pango_attribute_affects_itemization (attr, NULL) || + pango_attribute_affects_break_or_shape (attr, NULL)) + pango_attr_list_insert (&attrs, attr); + else + pango_attribute_destroy (attr); } g_slist_free (run_attrs); |