From 9526a7693604c5513a08a4ab08c0c691c3003f39 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 Pick-to: 6.5 6.6 6.2 Change-Id: Ic9fa574c14068fcae98fe8e6ceddd8a4f7008210 Reviewed-by: Volker Hilsheimer --- 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 61c662cd45..7307595bd9 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();