From 183e04a43996f7c4734ab97f20da6ba852dce918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 11 Feb 2013 13:49:42 +0100 Subject: [PATCH] Don't use the fallback list to decide if the CoreText font db was populated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In some situation (such as iOS currently) we may end up with an empty fallback list, and we don't want to re-populate the font database on every call to fallbacksForFamily(). We do not guard populateFontDatabase(), since it's called both initially and every time the font database has been invalidated. Change-Id: Ief1342c40f75e5d393e054e9a20bc94bc357d482 Reviewed-by: Tor Arne Vestbø --- .../fontdatabases/mac/qcoretextfontdatabase.mm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index 6035aa6755..f6dfea31dc 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -381,8 +381,12 @@ QStringList QCoreTextFontDatabase::fallbacksForFamily(const QString &family, QFo Q_UNUSED(family); Q_UNUSED(style); Q_UNUSED(script); - if (fallbackLists.isEmpty()) + + static bool didPopulateFallbackList = false; + if (!didPopulateFallbackList) { const_cast(this)->populateFontDatabase(); + didPopulateFallbackList = true; + } return fallbackLists[styleHint]; }