summaryrefslogtreecommitdiff
path: root/src/lib/efreet
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-11-16 12:58:34 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-11-16 13:02:10 +0000
commit7096634a3969fdef8e8b3d13a70d034cc0ea41e8 (patch)
treeaaf0d50bbee02d2e4548583db14d1f36bfff726a /src/lib/efreet
parentf8cf378868cd12f870f2eee2100b96b72c5bb08c (diff)
efreet - consider ctime changes as changes too
some distros do odd things with source desktop files and set their mtime timestamps to 0... thus we can't tell that there is a change. thier ctimes do change, so consider the newer of either of these as the modification time to not miss updates @fix
Diffstat (limited to 'src/lib/efreet')
-rw-r--r--src/lib/efreet/efreet_desktop.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/efreet/efreet_desktop.c b/src/lib/efreet/efreet_desktop.c
index e56d06c908..f0c46d4c33 100644
--- a/src/lib/efreet/efreet_desktop.c
+++ b/src/lib/efreet/efreet_desktop.c
@@ -218,7 +218,17 @@ efreet_desktop_empty_new(const char *file)
218 if (!desktop) return NULL; 218 if (!desktop) return NULL;
219 219
220 desktop->orig_path = strdup(file); 220 desktop->orig_path = strdup(file);
221 desktop->load_time = ecore_file_mod_time(file); 221 do
222 {
223 struct stat st;
224
225 if (!stat(desktop->orig_path, &st))
226 {
227 time_t modtime = st.st_mtime;
228 if (modtime < st.st_ctime) modtime = st.st_ctime;
229 desktop->load_time = modtime;
230 }
231 } while (0);
222 232
223 desktop->ref = 1; 233 desktop->ref = 1;
224 234