create collate_key on demand
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -79,6 +79,12 @@ gtk_tree_entry_get_type ()
|
|||||||
|
|
||||||
gchar* gtk_tree_entry_get_collate_key (GtkTreeEntry* entry)
|
gchar* gtk_tree_entry_get_collate_key (GtkTreeEntry* entry)
|
||||||
{
|
{
|
||||||
|
if (entry->collate_key == NULL)
|
||||||
|
{
|
||||||
|
char* temp = g_utf8_casefold(entry->label, -1);
|
||||||
|
entry->collate_key = g_utf8_collate_key(temp, -1);
|
||||||
|
g_free(temp);
|
||||||
|
}
|
||||||
return entry->collate_key;
|
return entry->collate_key;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,7 +102,6 @@ gpointer gtk_tree_entry_get_userdata (GtkTreeEntry* entry)
|
|||||||
|
|
||||||
void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label)
|
void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label)
|
||||||
{
|
{
|
||||||
gchar *temp;
|
|
||||||
g_assert(GTK_IS_TREE_ENTRY(entry));
|
g_assert(GTK_IS_TREE_ENTRY(entry));
|
||||||
|
|
||||||
/* free previous if it exists */
|
/* free previous if it exists */
|
||||||
@@ -107,9 +112,7 @@ void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label
|
|||||||
}
|
}
|
||||||
|
|
||||||
entry->label = g_strdup(label);
|
entry->label = g_strdup(label);
|
||||||
temp = g_utf8_casefold(label, -1); /* -1 == null terminated */
|
entry->collate_key = NULL;
|
||||||
entry->collate_key = g_utf8_collate_key(temp, -1); /* -1 == null terminated */
|
|
||||||
g_free( temp );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void gtk_tree_entry_set_userdata (GtkTreeEntry* entry, gpointer userdata)
|
void gtk_tree_entry_set_userdata (GtkTreeEntry* entry, gpointer userdata)
|
||||||
|
Reference in New Issue
Block a user