summaryrefslogtreecommitdiff
path: root/pango/pango-layout.c
diff options
context:
space:
mode:
Diffstat (limited to 'pango/pango-layout.c')
-rw-r--r--pango/pango-layout.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index fc8cc212..27755d67 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -1032,10 +1032,13 @@ pango_layout_set_tabs (PangoLayout *layout,
if (tabs != layout->tabs)
{
- if (layout->tabs)
- pango_tab_array_free (layout->tabs);
+ g_clear_pointer (&layout->tabs, pango_tab_array_free);
- layout->tabs = tabs ? pango_tab_array_copy (tabs) : NULL;
+ if (tabs)
+ {
+ layout->tabs = pango_tab_array_copy (tabs);
+ pango_tab_array_sort (layout->tabs);
+ }
layout_changed (layout);
}