Skip to content

Commit 773db8e

Browse files
eaftonslouken
authored andcommitted
X11TK: Even more failsafes for fonts
1 parent 8cbd5d5 commit 773db8e

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

src/video/x11/SDL_x11toolkit.c

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,8 @@ static const char *g_IconFont = "-*-*-bold-r-normal-*-%d-*-*-*-*-*-iso8859-1[33
110110
/* General UI font */
111111
static const char g_ToolkitFontLatin1[] =
112112
"-*-*-medium-r-normal--0-%d-*-*-p-0-iso8859-1";
113+
static const char g_ToolkitFontLatin1Fallback[] =
114+
"-*-*-*-*-*--*-*-*-*-*-*-iso8859-1";
113115
static const char *g_ToolkitFont[] = {
114116
"-*-*-medium-r-normal--*-%d-*-*-*-*-iso10646-1", // explicitly unicode (iso10646-1)
115117
"-*-*-medium-r-*--*-%d-*-*-*-*-iso10646-1", // explicitly unicode (iso10646-1)
@@ -375,13 +377,17 @@ static void X11Toolkit_InitWindowFonts(SDL_ToolkitWindowX11 *window)
375377
window->font_struct = X11_XLoadQueryFont(window->display, font);
376378
SDL_free(font);
377379
if (!window->font_struct) {
378-
if (window->scale && window->iscale > 0) {
379-
window->iscale = (int)SDL_ceilf(window->scale);
380-
window->scale = 0;
381-
} else {
382-
window->iscale--;
383-
}
384-
goto load_font_traditional;
380+
if (window->iscale > 0) {
381+
if (window->scale) {
382+
window->iscale = (int)SDL_ceilf(window->scale);
383+
window->scale = 0;
384+
} else {
385+
window->iscale--;
386+
}
387+
goto load_font_traditional;
388+
} else {
389+
window->font_struct = X11_XLoadQueryFont(window->display, g_ToolkitFontLatin1Fallback);
390+
}
385391
}
386392
}
387393
}

0 commit comments

Comments
 (0)