From 7eb7da8e5205f65165b2ba59d4296a50b1ce0846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 27 Jun 2023 18:22:16 +0200 Subject: [PATCH] CoreText: Handle failure to find matching theme font descriptors CTFontDescriptorCreateMatchingFontDescriptors has been observed to return nullptr, so we need to handle that explicitly. Fixes: QTBUG-113698 Change-Id: Ic9fa574c14068fcae98fe8e6ceddd8a4f7008210 Reviewed-by: Volker Hilsheimer (cherry picked from commit 9526a7693604c5513a08a4ab08c0c691c3003f39) Reviewed-by: Qt Cherry-pick Bot --- src/gui/text/coretext/qcoretextfontdatabase.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/text/coretext/qcoretextfontdatabase.mm b/src/gui/text/coretext/qcoretextfontdatabase.mm index 61c662cd459..7307595bd9b 100644 --- a/src/gui/text/coretext/qcoretextfontdatabase.mm +++ b/src/gui/text/coretext/qcoretextfontdatabase.mm @@ -905,7 +905,7 @@ void QCoreTextFontDatabase::populateThemeFonts() auto addFontVariants = [&](CTFontDescriptorRef descriptor) { QCFType matchingDescriptors = CTFontDescriptorCreateMatchingFontDescriptors(descriptor, nullptr); - const int matchingDescriptorsCount = CFArrayGetCount(matchingDescriptors); + const int matchingDescriptorsCount = matchingDescriptors ? CFArrayGetCount(matchingDescriptors) : 0; qCDebug(lcQpaFonts) << "Enumerating font variants based on" << id(descriptor) << "resulted in" << matchingDescriptorsCount << "matching descriptors" << matchingDescriptors.as();