diff options
Diffstat (limited to 'src/fccache.c')
-rw-r--r-- | src/fccache.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/fccache.c b/src/fccache.c index d6cd8407..4b3adff2 100644 --- a/src/fccache.c +++ b/src/fccache.c @@ -313,8 +313,9 @@ FcGlobalCacheLoad (FcGlobalCache *cache, FcBool FcGlobalCacheReadDir (FcFontSet *set, FcStrSet *dirs, FcGlobalCache * cache, const char *dir, FcConfig *config) { - FcGlobalCacheDir *d; - FcBool ret = FcFalse; + FcGlobalCacheDir *d; + FcBool ret = FcFalse; + int i; if (cache->fd == -1) return FcFalse; @@ -329,8 +330,14 @@ FcGlobalCacheReadDir (FcFontSet *set, FcStrSet *dirs, FcGlobalCache * cache, con lseek (cache->fd, d->offset, SEEK_SET); if (!FcDirCacheConsume (cache->fd, d->name, set, config)) return FcFalse; + if (strcmp (d->name, dir) == 0) + { + for (i = 0; i < d->subdirs->num; i++) + FcStrSetAdd (dirs, (FcChar8 *)d->subdirs->strs[i]); + ret = FcTrue; + } } } |