diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2022-03-15 16:09:59 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-03-23 22:25:01 +0000 |
commit | 9e28bae9ad87636309f08dff16fc722da07dfb9c (patch) | |
tree | 2053884894cd0c58f6cc2ce9cfe6bdd8709a7bbb /src/gui/text | |
parent | 8262abf6854bb3f3b0a35cff65b180e09551be35 (diff) |
CoreText: Maintain theme fonts in the font database instead of themes
The ownership of the fonts were handled in the iOS and macOS themes,
but the CoreText font database also kept a reference to these fonts.
As there was no way for the themes to reset the font database
references we could potentially end up in a situation where the
font database had stale references. And as the font database
would not rebuild the theme fonts once populated the themes
then would not be able to build a new list of theme fonts.
Moving the ownership to the font database makes semantics
and management of the fonts clearer.
Change-Id: I61756abaf5487f28d520dfa1cf7a8ee2d716cce6
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit ee15aa74825d4486979e64aa988af1927572e708)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/gui/text')
-rw-r--r-- | src/gui/text/coretext/qcoretextfontdatabase.mm | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/text/coretext/qcoretextfontdatabase.mm b/src/gui/text/coretext/qcoretextfontdatabase.mm index ee145a03d5..2c49876895 100644 --- a/src/gui/text/coretext/qcoretextfontdatabase.mm +++ b/src/gui/text/coretext/qcoretextfontdatabase.mm @@ -109,6 +109,8 @@ QCoreTextFontDatabase::QCoreTextFontDatabase() QCoreTextFontDatabase::~QCoreTextFontDatabase() { + qDeleteAll(m_themeFonts); + for (CTFontDescriptorRef ref : qAsConst(m_systemFontDescriptors)) CFRelease(ref); } |