music-control: use efreet to decode uri
This fix the cover image display when spaces (and probably other special chars) are in the file name.
This commit is contained in:
parent
2ef11b928e
commit
5920551f15
|
@ -226,6 +226,7 @@ parse_metadata(E_Music_Control_Module_Context *ctxt, Eina_Value *array)
|
||||||
{
|
{
|
||||||
const char *key, *str_val;
|
const char *key, *str_val;
|
||||||
Eina_Value st, subst;
|
Eina_Value st, subst;
|
||||||
|
Efreet_Uri *uri;
|
||||||
|
|
||||||
eina_value_array_value_get(array, i, &st);
|
eina_value_array_value_get(array, i, &st);
|
||||||
eina_value_struct_get(&st, "arg0", &key);
|
eina_value_struct_get(&st, "arg0", &key);
|
||||||
|
@ -257,8 +258,10 @@ parse_metadata(E_Music_Control_Module_Context *ctxt, Eina_Value *array)
|
||||||
{
|
{
|
||||||
eina_value_struct_value_get(&st, "arg1", &subst);
|
eina_value_struct_value_get(&st, "arg1", &subst);
|
||||||
eina_value_struct_get(&subst, "arg0", &str_val);
|
eina_value_struct_get(&subst, "arg0", &str_val);
|
||||||
if (!strncmp(str_val, "file://", 7))
|
uri = efreet_uri_decode(str_val);
|
||||||
ctxt->meta_cover = eina_stringshare_add(str_val + 7);
|
if (uri && !strncmp(uri->protocol, "file", 4))
|
||||||
|
ctxt->meta_cover = eina_stringshare_add(uri->path);
|
||||||
|
E_FREE_FUNC(uri, efreet_uri_free);
|
||||||
eina_value_flush(&subst);
|
eina_value_flush(&subst);
|
||||||
}
|
}
|
||||||
eina_value_flush(&st);
|
eina_value_flush(&st);
|
||||||
|
|
Loading…
Reference in New Issue