From: Enlightenment S. <no-...@en...> - 2010-03-30 10:51:42
|
Log: efreet: Check source of desktop Flag changed if efreet_desktop_new doesn't return a eet cached value. Author: englebass Date: 2010-03-30 03:51:35 -0700 (Tue, 30 Mar 2010) New Revision: 47584 Modified: trunk/efreet/src/bin/efreet_desktop_cache_create.c Modified: trunk/efreet/src/bin/efreet_desktop_cache_create.c =================================================================== --- trunk/efreet/src/bin/efreet_desktop_cache_create.c 2010-03-30 08:33:01 UTC (rev 47583) +++ trunk/efreet/src/bin/efreet_desktop_cache_create.c 2010-03-30 10:51:35 UTC (rev 47584) @@ -37,7 +37,6 @@ { Efreet_Desktop *desk; char *ext; - long long mtime; ext = strrchr(path, '.'); if (!ext || (strcmp(ext, ".desktop") && strcmp(ext, ".directory"))) return 1; @@ -48,9 +47,13 @@ if (desk) efreet_desktop_free(desk); return 1; } - mtime = ecore_file_mod_time(path); - if (mtime != desk->load_time) + if (!desk->eet) { + /* This file isn't in cache */ + *changed = 1; + } + else if (ecore_file_mod_time(desk->orig_path) != desk->load_time) + { efreet_desktop_free(desk); *changed = 1; desk = efreet_desktop_uncached_new(path); @@ -299,12 +302,6 @@ eet_close(util_ef); eet_close(ef); - /* ahem - if u have no existing efreet cache - it simply deletes the new - * files it created and u never get anything. force changed to be 1 - quick - * fix. - */ - changed = 1; - /* unlink old cache files */ if (changed) { |