vcl/quartz/SystemFontList.cxx |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

New commits:
commit 9531f83cc73e26ce766713e575eb14152d118018
Author:     Patrick Luby <plub...@libreoffice.org>
AuthorDate: Sat Dec 9 17:59:10 2023 -0500
Commit:     Patrick Luby <plub...@libreoffice.org>
CommitDate: Sun Dec 10 19:40:57 2023 +0100

    tdf#140401 check if attribute is a nullptr
    
    Change-Id: Ie6e33fc1dca525553bb4237204666835d335b13f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160524
    Tested-by: Jenkins
    Reviewed-by: Patrick Luby <plub...@libreoffice.org>

diff --git a/vcl/quartz/SystemFontList.cxx b/vcl/quartz/SystemFontList.cxx
index 2bc7544c8010..e068caf80fb6 100644
--- a/vcl/quartz/SystemFontList.cxx
+++ b/vcl/quartz/SystemFontList.cxx
@@ -118,7 +118,9 @@ FontAttributes DevFontFromCTFontDescriptor( 
CTFontDescriptorRef pFD, bool* bFont
     // get the font weight
     double fWeight = 0;
     CFNumberRef pWeightNum = static_cast<CFNumberRef>(CFDictionaryGetValue( 
pAttrDict, kCTFontWeightTrait ));
-    CFNumberGetValue( pWeightNum, kCFNumberDoubleType, &fWeight );
+    // tdf#140401 check if attribute is a nullptr
+    if( pWeightNum )
+        CFNumberGetValue( pWeightNum, kCFNumberDoubleType, &fWeight );
     int nInt = WEIGHT_NORMAL;
 
     // Special case fixes
@@ -164,7 +166,9 @@ FontAttributes DevFontFromCTFontDescriptor( 
CTFontDescriptorRef pFD, bool* bFont
     // get the font slant
     double fSlant = 0;
     CFNumberRef pSlantNum = static_cast<CFNumberRef>(CFDictionaryGetValue( 
pAttrDict, kCTFontSlantTrait ));
-    CFNumberGetValue( pSlantNum, kCFNumberDoubleType, &fSlant );
+    // tdf#140401 check if attribute is a nullptr
+    if( pSlantNum )
+        CFNumberGetValue( pSlantNum, kCFNumberDoubleType, &fSlant );
     if( fSlant >= 0.035 )
     {
         rDFA.SetItalic( ITALIC_NORMAL );
@@ -172,7 +176,9 @@ FontAttributes DevFontFromCTFontDescriptor( 
CTFontDescriptorRef pFD, bool* bFont
     // get width trait
     double fWidth = 0;
     CFNumberRef pWidthNum = static_cast<CFNumberRef>(CFDictionaryGetValue( 
pAttrDict, kCTFontWidthTrait ));
-    CFNumberGetValue( pWidthNum, kCFNumberDoubleType, &fWidth );
+    // tdf#140401 check if attribute is a nullptr
+    if( pWidthNum )
+        CFNumberGetValue( pWidthNum, kCFNumberDoubleType, &fWidth );
     nInt = WIDTH_NORMAL;
 
     if( fWidth > 0 )

Reply via email to