# HG changeset patch # User William Pitcock # Date 1192968338 18000 # Node ID fd86a88426f4ab36182ad88267c5b09c4a8a007e # Parent 67827c5ab4bdcb8ed1a45afe037d2c5eff179bbf dbus: ensure that only proper UTF8 is sent over the wire. diff -r 67827c5ab4bd -r fd86a88426f4 src/audacious/dbus.c --- a/src/audacious/dbus.c Fri Oct 19 06:27:36 2007 -0500 +++ b/src/audacious/dbus.c Sun Oct 21 07:05:38 2007 -0500 @@ -180,9 +180,13 @@ TupleValueType type; type = tuple_get_value_type(tuple, -1, key); if (type == TUPLE_STRING) { + gchar *result = str_to_utf8(tuple_get_string(tuple, -1, key)); + val = g_new0(GValue, 1); g_value_init(val, G_TYPE_STRING); - g_value_set_string(val, tuple_get_string(tuple, -1, key)); + g_value_set_string(val, result); + + g_free(result); return val; } else if (type == TUPLE_INT) { val = g_new0(GValue, 1); @@ -379,7 +383,7 @@ } gboolean mpris_emit_track_change(MprisPlayer *obj) { - GHashTable *metadata; + GHashTable *metadata; Tuple *tuple = NULL; GValue *value; Playlist *active; @@ -391,13 +395,13 @@ metadata = mpris_metadata_from_tuple(tuple); if (metadata != NULL) { - // Song URI - value = g_new0(GValue, 1); - g_value_init(value, G_TYPE_STRING); - g_value_set_string(value, playlist_get_filename(active, pos)); + // Song URI + value = g_new0(GValue, 1); + g_value_init(value, G_TYPE_STRING); + g_value_set_string(value, playlist_get_filename(active, pos)); - g_hash_table_insert(metadata, "URI", value); - } + g_hash_table_insert(metadata, "URI", value); + } g_signal_emit(obj, signals[TRACK_CHANGE_SIG], 0, metadata); return TRUE;