From bc1928bbc036ff065000b0655a12e6c24284c12c Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Mon, 15 Nov 2010 22:13:13 +0000 Subject: [PATCH] Fixed handling of missing fonts in Xft (STR #2355) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7855 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CHANGES | 1 + src/fl_font_xft.cxx | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/CHANGES b/CHANGES index b7c11502b..15991cf9d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,6 @@ CHANGES IN FLTK 1.3.0 + - Fixed handling of missing fonts in Xft (STR #2355) - Added alternative Xft font names (STR #2215) - Update lib png access (STR #2442) - Fixed OpenGL hide/show issue in OS X (STR #2260) diff --git a/src/fl_font_xft.cxx b/src/fl_font_xft.cxx index 01b5c2bc4..7124b04c6 100644 --- a/src/fl_font_xft.cxx +++ b/src/fl_font_xft.cxx @@ -289,6 +289,20 @@ static XftFont* fontopen(const char* name, bool core, int angle) { free(picked_name); #endif + if (!match_pat) { + // last chance, just open any font in the right size + the_font = XftFontOpen (fl_display, fl_screen, + XFT_FAMILY, XftTypeString, "sans", + XFT_SIZE, XftTypeDouble, (double)fl_size_, + NULL); + XftPatternDestroy(fnt_pat); + if (!the_font) { + Fl::error("Unable to find fonts. Check your FontConfig configuration.\n"); + exit(1); + } + return the_font; + } + // open the matched font the_font = XftFontOpenPattern(fl_display, match_pat);