diff --git a/legacy/efreet/src/bin/ef_icon_theme.c b/legacy/efreet/src/bin/ef_icon_theme.c index 4d8f870702..769f73571e 100644 --- a/legacy/efreet/src/bin/ef_icon_theme.c +++ b/legacy/efreet/src/bin/ef_icon_theme.c @@ -93,6 +93,11 @@ ef_cb_efreet_icon_theme_list(void) snprintf(buf, sizeof(buf), "%s/icons", dir); ef_icon_theme_themes_find(buf, dirs); } + EINA_LIST_FOREACH(icon_dirs, l, dir) + { + snprintf(buf, sizeof(buf), "%s/pixmaps", dir); + ef_icon_theme_themes_find(buf, dirs); + } ef_icon_theme_themes_find("/usr/share/pixmaps", dirs); themes = efreet_icon_theme_list_get(); diff --git a/legacy/efreet/src/lib/efreet_icon.c b/legacy/efreet/src/lib/efreet_icon.c index 59138225ec..d5060449d4 100644 --- a/legacy/efreet/src/lib/efreet_icon.c +++ b/legacy/efreet/src/lib/efreet_icon.c @@ -868,6 +868,17 @@ efreet_icon_fallback_icon(const char *icon_name) } } + EINA_LIST_FOREACH(xdg_dirs, l, dir) + { + snprintf(path, PATH_MAX, "%s/pixmaps", dir); + icon = efreet_icon_fallback_dir_scan(path, icon_name); + if (icon) + { + efreet_icon_cache_add(efreet_icon_find_theme_check(NULL), icon_name, 0, icon); + return icon; + } + } + icon = efreet_icon_fallback_dir_scan("/usr/share/pixmaps", icon_name); } @@ -1258,6 +1269,12 @@ efreet_icon_theme_dir_scan_all(const char *theme_name) efreet_icon_theme_dir_scan(path, theme_name); } + EINA_LIST_FOREACH(xdg_dirs, l, dir) + { + snprintf(path, sizeof(path), "%s/pixmaps", dir); + efreet_icon_theme_dir_scan(path, theme_name); + } + efreet_icon_theme_dir_scan("/usr/share/pixmaps", theme_name); }