sort returned tags array by tags priority (#497102).

2007-11-15  Yevgen Muntyan  <muntyan@tamu.edu>

	* gtk/gtktextbtree.c (_gtk_text_btree_get_tags): sort returned
	tags array by tags priority (#497102).
	* gtk/gtktextiter.c (gtk_text_iter_get_tags), (gtk_text_iter_get_attributes):
	* gtk/gtktextlayout.c (get_tags_array_at_iter): and do not sort it here.


svn path=/trunk/; revision=18995
This commit is contained in:
Yevgen Muntyan
2007-11-15 17:00:33 +00:00
committed by Yevgen Muntyan
parent a3eb6a98d7
commit 921da326f5
4 changed files with 13 additions and 8 deletions

View File

@ -1,3 +1,10 @@
2007-11-15 Yevgen Muntyan <muntyan@tamu.edu>
* gtk/gtktextbtree.c (_gtk_text_btree_get_tags): sort returned
tags array by tags priority (#497102).
* gtk/gtktextiter.c (gtk_text_iter_get_tags), (gtk_text_iter_get_attributes):
* gtk/gtktextlayout.c (get_tags_array_at_iter): and do not sort it here.
2007-11-15 Yevgen Muntyan <muntyan@tamu.edu>
* gtk/gtktextlayout.c: (gtk_text_layout_get_line_display),

View File

@ -2196,6 +2196,8 @@ _gtk_text_btree_get_line_at_char (GtkTextBTree *tree,
return line;
}
/* It returns an array sorted by tags priority, ready to pass to
* _gtk_text_attributes_fill_from_tags() */
GtkTextTag**
_gtk_text_btree_get_tags (const GtkTextIter *iter,
gint *num_tags)
@ -2304,6 +2306,10 @@ _gtk_text_btree_get_tags (const GtkTextIter *iter,
g_free (tagInfo.tags);
return NULL;
}
/* Sort tags in ascending order of priority */
_gtk_text_tag_array_sort (tagInfo.tags, dst);
return tagInfo.tags;
}

View File

@ -1331,9 +1331,6 @@ gtk_text_iter_get_tags (const GtkTextIter *iter)
return NULL;
}
/* Sort tags in ascending order of priority */
_gtk_text_tag_array_sort (tags, tag_count);
retval = NULL;
i = 0;
while (i < tag_count)
@ -1748,9 +1745,6 @@ gtk_text_iter_get_attributes (const GtkTextIter *iter,
return FALSE;
}
/* Sort tags in ascending order of priority */
_gtk_text_tag_array_sort (tags, tag_count);
_gtk_text_attributes_fill_from_tags (values,
tags,
tag_count);

View File

@ -2072,8 +2072,6 @@ get_tags_array_at_iter (GtkTextIter *iter)
if (n_tags > 0)
{
/* Sort tags in ascending order of priority */
_gtk_text_tag_array_sort (tags, n_tags);
array = g_ptr_array_sized_new (n_tags);
g_ptr_array_set_size (array, n_tags);
memcpy (array->pdata, tags, n_tags * sizeof (GtkTextTag*));