diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 5 | ||||
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx index fcc83dc5b..c9e2c37f8 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx @@ -1075,7 +1075,10 @@ Fl_Font Fl_Cairo_Graphics_Driver::set_fonts(const char* /*pattern_name*/) // Force LANG=C to prevent pango_font_face_get_face_name() below from returning // translated versions of Bold, Italic, etc… (see issue #732). // Unfortunately, using setlocale() doesn't do the job. - saved_lang = strdup(saved_lang); + char *p = saved_lang; + saved_lang = (char*)malloc(strlen(p) + 6); + memcpy(saved_lang, "LANG=", 5); + strcpy(saved_lang + 5, p); fl_putenv(Clang); } else saved_lang = NULL; static PangoFontMap *pfmap_ = pango_cairo_font_map_get_default(); // 1.10 diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx index e9b686205..500a48d0d 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx @@ -1398,7 +1398,10 @@ Fl_Font Fl_Xlib_Graphics_Driver::set_fonts(const char* pattern_name) // Force LANG=C to prevent pango_font_face_get_face_name() below from returning // translated versions of Bold, Italic, etc… (see issue #732). // Unfortunately, using setlocale() doesn't do the job. - saved_lang = strdup(saved_lang); + char *p = saved_lang; + saved_lang = (char*)malloc(strlen(p) + 6); + memcpy(saved_lang, "LANG=", 5); + strcpy(saved_lang + 5, p); fl_putenv(Clang); } else saved_lang = NULL; for (int fam = 0; fam < n_families; fam++) { |
