diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-06-24 19:50:47 +0200 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-06-24 19:50:47 +0200 |
| commit | fb7469c85c86a1a5dc62f5feaf540dbd7307600e (patch) | |
| tree | e8c5e254c1816dc490feba1d7c9ea8051b2b594c /src/drivers | |
| parent | 617dc2ce12eb6183b4ae3d3fe73572e43629c825 (diff) | |
Fix for issue #452: Fl::get_font_name failure on OS-X.
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx index b89e359ad..f34d36d54 100644 --- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx +++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx @@ -317,12 +317,14 @@ double Fl_Quartz_Graphics_Driver::width(unsigned int wc) { #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 static void set_fontname_CoreText(Fl_Fontdesc *f) { CFStringRef cfname = CFStringCreateWithCString(NULL, f->name, kCFStringEncodingUTF8); - CTFontRef ctfont = CTFontCreateWithName(cfname, 0, NULL); - CFRelease(cfname); - cfname = CTFontCopyFullName(ctfont); - CFRelease(ctfont); - CFStringGetCString(cfname, f->fontname, ENDOFBUFFER, kCFStringEncodingUTF8); - CFRelease(cfname); + CTFontRef ctfont = cfname ? CTFontCreateWithName(cfname, 0, NULL) : NULL; + if (cfname) CFRelease(cfname); + if (ctfont) { + cfname = CTFontCopyFullName(ctfont); + CFRelease(ctfont); + CFStringGetCString(cfname, f->fontname, ENDOFBUFFER, kCFStringEncodingUTF8); + CFRelease(cfname); + } else strlcpy(f->fontname, f->name, ENDOFBUFFER); } #endif |
