Mercurial > hg > forks > geeqie
changeset 2020:730ef621def9
prevent crash in g_utf8_collate_key
https://sourceforge.net/tracker/?func=detail&aid=3330014&group_id=222125&atid=1054680
author | Vladimir Nadvornik <nadvornik@suse.cz> |
---|---|
date | Mon, 30 Jul 2012 18:21:13 +0200 |
parents | 69781cba7cfc |
children | 26dfd7a4d130 |
files | src/filedata.c |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/filedata.c Mon Jul 30 16:31:04 2012 +0200 +++ b/src/filedata.c Mon Jul 30 18:21:13 2012 +0200 @@ -247,19 +247,22 @@ static void file_data_set_collate_keys(FileData *fd) { gchar *caseless_name; - - caseless_name = g_utf8_casefold(fd->name, -1); + gchar *valid_name; + + valid_name = g_filename_display_name(fd->name); + caseless_name = g_utf8_casefold(valid_name, -1); g_free(fd->collate_key_name); g_free(fd->collate_key_name_nocase); #if 0 && GLIB_CHECK_VERSION(2, 8, 0) - fd->collate_key_name = g_utf8_collate_key_for_filename(fd->name, -1); + fd->collate_key_name = g_utf8_collate_key_for_filename(valid_name, -1); fd->collate_key_name_nocase = g_utf8_collate_key_for_filename(caseless_name, -1); #else - fd->collate_key_name = g_utf8_collate_key(fd->name, -1); + fd->collate_key_name = g_utf8_collate_key(valid_name, -1); fd->collate_key_name_nocase = g_utf8_collate_key(caseless_name, -1); #endif + g_free(valid_name); g_free(caseless_name); }