From 04f61e115b68cab397b2d107eaae9846193fc6b0 Mon Sep 17 00:00:00 2001 From: Sebastian Dransfeld Date: Wed, 24 Nov 2010 21:18:56 +0000 Subject: [PATCH] we need to monitor each theme dir too xdg-icon-resource creates and deletes a file called .xdg-icon-resource-dummy in each dir. SVN revision: 54962 --- legacy/efreet/src/lib/efreet_icon.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/legacy/efreet/src/lib/efreet_icon.c b/legacy/efreet/src/lib/efreet_icon.c index 25b06dda1e..4f2152167f 100644 --- a/legacy/efreet/src/lib/efreet_icon.c +++ b/legacy/efreet/src/lib/efreet_icon.c @@ -1962,11 +1962,30 @@ efreet_icon_changes_monitor_add(const char *path) char rp[PATH_MAX]; if (!realpath(path, rp)) return; + if (!ecore_file_is_dir(rp)) return; if (eina_hash_find(change_monitors, rp)) return; eina_hash_add(change_monitors, rp, ecore_file_monitor_add(rp, efreet_icon_changes_cb, NULL)); + + if (ecore_file_is_dir(rp)) + { + Eina_Iterator *it; + const char *ent; + + it = eina_file_ls(rp); + if (!it) return; + EINA_ITERATOR_FOREACH(it, ent) + { + if (!realpath(ent, rp)) continue; + if (!ecore_file_is_dir(rp)) continue; + eina_hash_add(change_monitors, rp, + ecore_file_monitor_add(rp, + efreet_icon_changes_cb, + NULL)); + } + } } static void