Fix the underlying cause of the below segfault (must usually call
FcDirCacheHasCurrentArch after FcDirCacheValid).
This commit is contained in:
parent
a68ce9525d
commit
530e66b008
12
ChangeLog
12
ChangeLog
|
@ -1,8 +1,16 @@
|
||||||
|
2006-02-18 Patrick Lam <plam@mit.edu>
|
||||||
|
* fc-cache/fc-cache.c (scanDirs):
|
||||||
|
* src/fccache.c (FcCacheReadDirs):
|
||||||
|
* src/fcdir.c (FcDirScanConfig):
|
||||||
|
|
||||||
|
Fix the underlying cause of the below segfault (must usually
|
||||||
|
call FcDirCacheHasCurrentArch after FcDirCacheValid).
|
||||||
|
|
||||||
2006-02-18 Patrick Lam <plam@mit.edu>
|
2006-02-18 Patrick Lam <plam@mit.edu>
|
||||||
* src/fccache.c (FcDirCacheHasCurrentArch):
|
* src/fccache.c (FcDirCacheHasCurrentArch):
|
||||||
|
|
||||||
Fix segfault (reported by fcrozat) caused by incorrect
|
Fix triggering of segfault caused by misreading cache files
|
||||||
input on cache files.
|
(reported by fcrozat).
|
||||||
|
|
||||||
2006-02-17 Patrick Lam <plam@mit.edu>
|
2006-02-17 Patrick Lam <plam@mit.edu>
|
||||||
* src/fcint.h (FC_CACHE_MAGIC):
|
* src/fcint.h (FC_CACHE_MAGIC):
|
||||||
|
|
|
@ -234,6 +234,8 @@ scanDirs (FcStrList *list, FcConfig *config, char *program, FcBool force, FcBool
|
||||||
printf ("caching, %d fonts, %d dirs\n",
|
printf ("caching, %d fonts, %d dirs\n",
|
||||||
set->nfont, nsubdirs (subdirs));
|
set->nfont, nsubdirs (subdirs));
|
||||||
|
|
||||||
|
/* This is the only reason we can't combine
|
||||||
|
* Valid w/HasCurrentArch... */
|
||||||
if (!FcDirCacheValid (dir))
|
if (!FcDirCacheValid (dir))
|
||||||
if (!FcDirCacheUnlink (dir, config))
|
if (!FcDirCacheUnlink (dir, config))
|
||||||
ret++;
|
ret++;
|
||||||
|
|
|
@ -931,7 +931,9 @@ FcCacheReadDirs (FcConfig * config, FcGlobalCache * cache,
|
||||||
FcStrSetDestroy (subdirs);
|
FcStrSetDestroy (subdirs);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (FcDirCacheValid (dir) && FcDirCacheRead (set, subdirs, dir, config))
|
if (FcDirCacheValid (dir) &&
|
||||||
|
FcDirCacheHasCurrentArch (dir) &&
|
||||||
|
FcDirCacheRead (set, subdirs, dir, config))
|
||||||
{
|
{
|
||||||
/* if an old entry is found in the global cache, disable it */
|
/* if an old entry is found in the global cache, disable it */
|
||||||
if ((d = FcGlobalCacheDirFind (cache, (const char *)dir)) != NULL)
|
if ((d = FcGlobalCacheDirFind (cache, (const char *)dir)) != NULL)
|
||||||
|
|
|
@ -142,7 +142,9 @@ FcDirScanConfig (FcFontSet *set,
|
||||||
if (cache && FcGlobalCacheReadDir (set, dirs, cache, (char *)dir, config))
|
if (cache && FcGlobalCacheReadDir (set, dirs, cache, (char *)dir, config))
|
||||||
return FcTrue;
|
return FcTrue;
|
||||||
|
|
||||||
if (FcDirCacheValid (dir) && FcDirCacheRead (set, dirs, dir, config))
|
if (FcDirCacheValid (dir) &&
|
||||||
|
FcDirCacheHasCurrentArch (dir) &&
|
||||||
|
FcDirCacheRead (set, dirs, dir, config))
|
||||||
return FcTrue;
|
return FcTrue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue