Index: src/fl_font.cxx =================================================================== --- src/fl_font.cxx (revision 10503) +++ src/fl_font.cxx (revision 10504) @@ -55,6 +55,12 @@ # include "fl_font_x.cxx" #endif // WIN32 +#if ! (defined(WIN32) || defined(__APPLE__)) +XFontStruct *fl_X_core_font() +{ + return fl_xfont.value(); +} +#endif double fl_width(const char* c) { if (c) return fl_width(c, (int) strlen(c)); Index: src/gl_draw.cxx =================================================================== --- src/gl_draw.cxx (revision 10503) +++ src/gl_draw.cxx (revision 10504) @@ -81,7 +81,7 @@ * then sorting through them at draw time (for normal X rendering) to find which one can * render the current glyph... But for now, just use the first font in the list for GL... */ - XFontStruct *font = fl_xfont; + XFontStruct *font = fl_X_core_font(); int base = font->min_char_or_byte2; int count = font->max_char_or_byte2-base+1; fl_fontsize->listbase = glGenLists(256); Index: FL/x.H =================================================================== --- FL/x.H (revision 10503) +++ FL/x.H (revision 10504) @@ -132,6 +132,7 @@ XFontStruct *ptr; }; extern FL_EXPORT Fl_XFont_On_Demand fl_xfont; +extern FL_EXPORT XFontStruct* fl_X_core_font(); // this object contains all X-specific stuff about a window: // Warning: this object is highly subject to change!