summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--src/fl_set_fonts_xft.cxx4
2 files changed, 5 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index e4fc78819..9ab29ca7c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
CHANGES IN FLTK 1.3.3 RELEASED: MMM DD YYYY
+ - Fixed segfault in fl_set_fonts_xft.cxx when loading fonts not named
+ as expected (STR #2976).
- Removed autoconf/configure and CMake tests and defines for
unused function strtoll().
- Fixed access of protected member (STR #2903)
diff --git a/src/fl_set_fonts_xft.cxx b/src/fl_set_fonts_xft.cxx
index 2aa3edcaf..13374ee7f 100644
--- a/src/fl_set_fonts_xft.cxx
+++ b/src/fl_set_fonts_xft.cxx
@@ -82,7 +82,6 @@ static void make_raw_name(char *raw, char *pretty)
// italic, bold, bold italic or normal - this seems to be the fltk way...
char *style = strchr(pretty, ':');
- char *last = style + strlen(style) - 2;
if (style)
{
@@ -120,7 +119,10 @@ static void make_raw_name(char *raw, char *pretty)
#define BOLD 1
#define ITALIC 2
#define BITALIC (BOLD | ITALIC)
+
int mods = PLAIN;
+ char *last = style + strlen(style) - 2;
+
// Now try and parse the style string - look for the "=" sign
style = strchr(style, '=');
while ((style) && (style < last))