diff options
author | Stefan Schmidt <s.schmidt@samsung.com> | 2014-03-27 12:47:21 +0100 |
---|---|---|
committer | Stefan Schmidt <s.schmidt@samsung.com> | 2014-03-27 12:53:06 +0100 |
commit | f91f256817fb32229ea621b3ecced0bbfbf57878 (patch) | |
tree | a2a10d836b7c1b4956e3cb8efdd2e40914964fcb | |
parent | 82d38bced8d22161f0a2f73317618aa617a1a144 (diff) | |
download | enlightenment-f91f256817fb32229ea621b3ecced0bbfbf57878.tar.gz |
bugfix: music_control: Use correct markup for metadata text.
We piped the plain metadata text to edje TEXTBLOCK which might interpret
some of the characters as markup. Better convert it to the correct markup
first. The actual bug case was a & in the metadata cut off the rest of
the text. Now we get the correct & before sending it of to edje.
Fixes T1061
-rw-r--r-- | src/modules/music-control/e_mod_main.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/modules/music-control/e_mod_main.c b/src/modules/music-control/e_mod_main.c index 58bf32f2d1..b8e7244ef3 100644 --- a/src/modules/music-control/e_mod_main.c +++ b/src/modules/music-control/e_mod_main.c @@ -224,7 +224,7 @@ parse_metadata(E_Music_Control_Module_Context *ctxt, Eina_Value *array) for (i = 0; i < eina_value_array_count(array); i++) { - const char *key, *str_val; + const char *key, *str_val, *str_markup; Eina_Value st, subst; Efreet_Uri *uri; @@ -234,14 +234,16 @@ parse_metadata(E_Music_Control_Module_Context *ctxt, Eina_Value *array) { eina_value_struct_value_get(&st, "arg1", &subst); eina_value_struct_get(&subst, "arg0", &str_val); - ctxt->meta_title = eina_stringshare_add(str_val); + str_markup = evas_textblock_text_utf8_to_markup(NULL, str_val); + ctxt->meta_title = eina_stringshare_add(str_markup); eina_value_flush(&subst); } else if (!strcmp(key, "xesam:album")) { eina_value_struct_value_get(&st, "arg1", &subst); eina_value_struct_get(&subst, "arg0", &str_val); - ctxt->meta_album = eina_stringshare_add(str_val); + str_markup = evas_textblock_text_utf8_to_markup(NULL, str_val); + ctxt->meta_album = eina_stringshare_add(str_markup); eina_value_flush(&subst); } else if (!strcmp(key, "xesam:artist")) @@ -250,7 +252,8 @@ parse_metadata(E_Music_Control_Module_Context *ctxt, Eina_Value *array) eina_value_struct_value_get(&st, "arg1", &subst); eina_value_struct_value_get(&subst, "arg0", &arr); eina_value_array_get(&arr, 0, &str_val); - ctxt->meta_artist = eina_stringshare_add(str_val); + str_markup = evas_textblock_text_utf8_to_markup(NULL, str_val); + ctxt->meta_artist = eina_stringshare_add(str_markup); eina_value_flush(&arr); eina_value_flush(&subst); } |