From bd712d5195ba07d5cc0085e8deada07cb527e433 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 4 Jul 2022 13:43:57 +0200 Subject: [PATCH] Rename QPlatformFontDatabase::handleAvailableFontsChanged() The function name was easy to mistake for a function you should call after adding fonts via e.g. registerFont or registerFontFamily, but in reality it's meant to be used when the platform font database knows that fonts have changed in a way that needs a full populate. Change-Id: I4a897944aaa5df891562f729440b5d98b54f61e0 Reviewed-by: Eskil Abrahamsen Blomfeldt (cherry picked from commit ed631011faab42071f5e4fd4ea978ec0a95b4633) Reviewed-by: Qt Cherry-pick Bot --- src/gui/text/coretext/qcoretextfontdatabase.mm | 2 +- src/gui/text/qplatformfontdatabase.cpp | 10 ++++++++-- src/gui/text/qplatformfontdatabase.h | 2 +- src/plugins/platforms/ios/qiostheme.mm | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/gui/text/coretext/qcoretextfontdatabase.mm b/src/gui/text/coretext/qcoretextfontdatabase.mm index d17d1bb7018..70d405fc7b0 100644 --- a/src/gui/text/coretext/qcoretextfontdatabase.mm +++ b/src/gui/text/coretext/qcoretextfontdatabase.mm @@ -79,7 +79,7 @@ QCoreTextFontDatabase::QCoreTextFontDatabase() #if defined(Q_OS_MACOS) m_fontSetObserver = QMacNotificationObserver(nil, NSFontSetChangedNotification, [] { qCDebug(lcQpaFonts) << "Fonts have changed"; - handleAvailableFontsChanged(); + QPlatformFontDatabase::repopulateFontDatabase(); }); #endif } diff --git a/src/gui/text/qplatformfontdatabase.cpp b/src/gui/text/qplatformfontdatabase.cpp index eb54a4e5cb1..8fcdfc59882 100644 --- a/src/gui/text/qplatformfontdatabase.cpp +++ b/src/gui/text/qplatformfontdatabase.cpp @@ -600,13 +600,19 @@ void QPlatformFontDatabase::registerAliasToFontFamily(const QString &familyName, } /*! - Inform the Qt font database that the platform's available fonts have changed. + Requests that the platform font database should be repopulated. This will result in invalidating the entire font database. + The next time the font database is accessed it will be repopulated + via a call to QPlatformFontDatabase::populate(). + + Application fonts will not be removed, and will be automatically + populated when the font database is repopulated. + \since 6.4 */ -void QPlatformFontDatabase::handleAvailableFontsChanged() +void QPlatformFontDatabase::repopulateFontDatabase() { QFontDatabasePrivate::instance()->invalidate(); } diff --git a/src/gui/text/qplatformfontdatabase.h b/src/gui/text/qplatformfontdatabase.h index ffb32d701cd..33828596729 100644 --- a/src/gui/text/qplatformfontdatabase.h +++ b/src/gui/text/qplatformfontdatabase.h @@ -103,7 +103,7 @@ public: static void registerFontFamily(const QString &familyName); static void registerAliasToFontFamily(const QString &familyName, const QString &alias); - static void handleAvailableFontsChanged(); + static void repopulateFontDatabase(); static bool isFamilyPopulated(const QString &familyName); }; diff --git a/src/plugins/platforms/ios/qiostheme.mm b/src/plugins/platforms/ios/qiostheme.mm index 390ca2e351f..02143bd7a23 100644 --- a/src/plugins/platforms/ios/qiostheme.mm +++ b/src/plugins/platforms/ios/qiostheme.mm @@ -34,7 +34,7 @@ QIOSTheme::QIOSTheme() m_contentSizeCategoryObserver = QMacNotificationObserver(nil, UIContentSizeCategoryDidChangeNotification, [] { qCDebug(lcQpaFonts) << "Contents size category changed to" << UIApplication.sharedApplication.preferredContentSizeCategory; - QPlatformFontDatabase::handleAvailableFontsChanged(); + QPlatformFontDatabase::repopulateFontDatabase(); }); }