diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp index 02b7e1bd636..5847c601a87 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp @@ -504,7 +504,7 @@ static void populateFromPattern(FcPattern *pattern) void QFontconfigDatabase::populateFontDatabase() { - FcInitReinitialize(); + FcInit(); FcFontSet *fonts; { @@ -568,6 +568,12 @@ void QFontconfigDatabase::populateFontDatabase() // QApplication::setFont(font); } +void QFontconfigDatabase::invalidate() +{ + // Clear app fonts. + FcConfigAppFontClear(0); +} + QFontEngineMulti *QFontconfigDatabase::fontEngineMulti(QFontEngine *fontEngine, QChar::Script script) { return new QFontEngineMultiFontConfig(fontEngine, script); diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h index 197a442d5bb..244558b9108 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h @@ -62,6 +62,7 @@ class QFontconfigDatabase : public QBasicFontDatabase { public: void populateFontDatabase() Q_DECL_OVERRIDE; + void invalidate() Q_DECL_OVERRIDE; QFontEngineMulti *fontEngineMulti(QFontEngine *fontEngine, QChar::Script script) Q_DECL_OVERRIDE; QFontEngine *fontEngine(const QFontDef &fontDef, void *handle) Q_DECL_OVERRIDE; QFontEngine *fontEngine(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference) Q_DECL_OVERRIDE;