diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2022-03-25 12:18:37 +0100 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2022-03-31 21:12:54 +0200 |
commit | 3b6aba6598078502a8eb39d814c8fba7696b7bcd (patch) | |
tree | ebe9cffebf67757b15c8eaab2376ab217eaf4113 /src/gui | |
parent | 4bd3080163b49b09bc0ec322805653a7d293df02 (diff) |
QFontDatabase: Use more explicit function name for clearing families
Avoids overloading on ::free() from stdlib.h
Change-Id: I71d7fa4012f189cf5640968ed43d530eff79989f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/text/qfontdatabase.cpp | 14 | ||||
-rw-r--r-- | src/gui/text/qfontdatabase_p.h | 12 |
2 files changed, 15 insertions, 11 deletions
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index de4fdb5d2e..dc2a0ff623 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -298,12 +298,22 @@ void QtFontFamily::ensurePopulated() Q_ASSERT_X(populated, Q_FUNC_INFO, qPrintable(name)); } +void QFontDatabasePrivate::clearFamilies() +{ + while (count--) + delete families[count]; + ::free(families); + families = nullptr; + count = 0; + // don't clear the memory fonts! +} + void QFontDatabasePrivate::invalidate() { QFontCache::instance()->clear(); fallbacksCache.clear(); - free(); + clearFamilies(); QGuiApplicationPrivate::platformIntegration()->fontDatabase()->invalidate(); emit static_cast<QGuiApplication *>(QCoreApplication::instance())->fontDatabaseChanged(); } @@ -530,7 +540,7 @@ void qt_cleanupFontDatabase() { auto *db = QFontDatabasePrivate::instance(); db->fallbacksCache.clear(); - db->free(); + db->clearFamilies(); } // used in qfont.cpp diff --git a/src/gui/text/qfontdatabase_p.h b/src/gui/text/qfontdatabase_p.h index 6d3530223a..badeb37362 100644 --- a/src/gui/text/qfontdatabase_p.h +++ b/src/gui/text/qfontdatabase_p.h @@ -221,9 +221,11 @@ public: { } ~QFontDatabasePrivate() { - free(); + clearFamilies(); } + void clearFamilies(); + enum FamilyRequestFlags { RequestFamily = 0, EnsureCreated, @@ -231,14 +233,6 @@ public: }; QtFontFamily *family(const QString &f, FamilyRequestFlags flags = EnsurePopulated); - void free() { - while (count--) - delete families[count]; - ::free(families); - families = nullptr; - count = 0; - // don't clear the memory fonts! - } int count; QtFontFamily **families; |