diff --git a/src/lib/extra.c b/src/lib/extra.c index f63b515..3776edc 100644 --- a/src/lib/extra.c +++ b/src/lib/extra.c @@ -273,13 +273,16 @@ extra_theme_installed(Extra_Theme *theme) EAPI char * extra_theme_install_path_get(Extra_Theme *theme) { + Eina_Strbuf *buf; char *path; EINA_SAFETY_ON_NULL_RETURN_VAL(theme, NULL); - path = malloc(PATH_MAX * sizeof(char)); - sprintf(path, "%s/.elementary/themes/%s.edj", eina_environment_home_get(), theme->id); - + buf = eina_strbuf_new(); + eina_strbuf_append(buf, elm_theme_user_dir_get()); + eina_strbuf_append_printf(buf, "%s-%d.edj", theme->id, theme->version); + path = eina_strbuf_string_steal(buf); + eina_strbuf_free(buf); return path; }