FcConfig *config;
const FcChar8 *fallback = (const FcChar8 *) "" \
"<fontconfig>" \
- " <dir>" FC_DEFAULT_FONTS "</dir>" \
+ FC_DEFAULT_FONTS \
" <dir prefix=\"xdg\">fonts</dir>" \
" <cachedir>" FC_CACHEDIR "</cachedir>" \
" <cachedir prefix=\"xdg\">fontconfig</cachedir>" \
+ " <include ignore_missing=\"yes\">" CONFIGDIR "</include>" \
" <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/conf.d</include>" \
" <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/fonts.conf</include>" \
"</fontconfig>";
FcFini (void)
{
FcConfigFini ();
- FcCacheFini ();
+ FcConfigPathFini ();
FcDefaultFini ();
FcObjectFini ();
- FcConfigPathFini ();
+ FcCacheFini ();
}
/*
FcBool
FcInitBringUptoDate (void)
{
- FcConfig *config = FcConfigGetCurrent ();
+ FcConfig *config = FcConfigReference (NULL);
+ FcBool ret = FcTrue;
time_t now;
if (!config)
* rescanInterval == 0 disables automatic up to date
*/
if (config->rescanInterval == 0)
- return FcTrue;
+ goto bail;
/*
* Check no more often than rescanInterval seconds
*/
now = time (0);
if (config->rescanTime + config->rescanInterval - now > 0)
- return FcTrue;
+ goto bail;
/*
* If up to date, don't reload configuration
*/
if (FcConfigUptoDate (0))
- return FcTrue;
- return FcInitReinitialize ();
+ goto bail;
+ ret = FcInitReinitialize ();
+bail:
+ FcConfigDestroy (config);
+
+ return ret;
}
#define __fcinit__