]> git.wh0rd.org - fontconfig.git/commitdiff
Also check configDirs mtimes in FcConfigUptoDate
authorKeith Packard <keithp@koto.keithp.com>
Fri, 26 Oct 2007 04:23:36 +0000 (21:23 -0700)
committerKeith Packard <keithp@koto.keithp.com>
Fri, 26 Oct 2007 04:23:36 +0000 (21:23 -0700)
Checking only config files and font directories can miss changes which
affect only a configuration directory. Check those to catch any changes.

src/fccfg.c

index 635fdead213badc1f22d13665dc8e3f4d51f9865..b55770d4b6244e1d678f115a6d51a770f837bf0f 100644 (file)
@@ -138,23 +138,10 @@ FcConfigNewestFile (FcStrSet *files)
     return newest;
 }
 
-FcFileTime
-FcConfigModifiedTime (FcConfig *config)
-{
-    if (!config)
-    {
-       FcFileTime v = { 0, FcFalse };
-       config = FcConfigGetCurrent ();
-       if (!config)
-           return v;
-    }
-    return FcConfigNewestFile (config->configFiles);
-}
-
 FcBool
 FcConfigUptoDate (FcConfig *config)
 {
-    FcFileTime config_time, font_time;
+    FcFileTime config_time, config_dir_time, font_time;
     time_t     now = time(0);
     if (!config)
     {
@@ -163,8 +150,10 @@ FcConfigUptoDate (FcConfig *config)
            return FcFalse;
     }
     config_time = FcConfigNewestFile (config->configFiles);
+    config_dir_time = FcConfigNewestFile (config->configDirs);
     font_time = FcConfigNewestFile (config->fontDirs);
     if ((config_time.set && config_time.time - config->rescanTime > 0) ||
+       (config_dir_time.set && (config_dir_time.time - config->rescanTime) > 0) ||
        (font_time.set && (font_time.time - config->rescanTime) > 0))
     {
        return FcFalse;