audacious_utf8_fix.patch
| ui_fileopener.c 2012-10-02 21:54:37.321081683 +0200 | ||
|---|---|---|
| 31 | 31 |
bool_t play) |
| 32 | 32 |
{
|
| 33 | 33 |
Index * list = index_new (); |
| 34 |
char *uri, *filename, *utf8; |
|
| 34 | 35 | |
| 35 |
for (GSList * node = files; node; node = node->next) |
|
| 36 |
index_append (list, str_get (node->data)); |
|
| 36 |
for (GSList * node = files; node; node = node->next) {
|
|
| 37 |
/* gtk filechooser returns files in native charset, so in case |
|
| 38 |
* the user doesn't use UTF-8 we need this back and forth conversion */ |
|
| 39 |
filename = g_filename_from_uri (node->data, NULL, NULL); |
|
| 40 |
if (filename == NULL) |
|
| 41 |
continue; |
|
| 42 |
|
|
| 43 |
utf8 = g_filename_to_utf8 (filename, -1, NULL, NULL, NULL); |
|
| 44 |
g_free (filename); |
|
| 45 |
if (utf8 == NULL) |
|
| 46 |
continue; |
|
| 47 | ||
| 48 |
uri = g_filename_to_uri (utf8, NULL, NULL); |
|
| 49 |
g_free (utf8); |
|
| 50 |
if (uri == NULL) |
|
| 51 |
continue; |
|
| 52 | ||
| 53 |
index_append (list, str_get (uri)); |
|
| 54 |
g_free (uri); |
|
| 55 |
} |
|
| 37 | 56 | |
| 38 | 57 |
if (play) |
| 39 | 58 |
aud_drct_pl_open_list (list); |
