Commit d645aaa4 authored by Kenichi Handa's avatar Kenichi Handa
Browse files

(x_list_fonts): Trap X errors so that Emacs doesn't die

by them.
(x_load_font): Likewise.
parent e186b069
......@@ -6682,6 +6682,7 @@ x_load_font (f, fontname, size)
{
struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
Lisp_Object font_names;
int count;
/* Get a list of all the fonts that match this name. Once we
have a list of matching fonts, we compare them against the fonts
......@@ -6718,7 +6719,16 @@ x_load_font (f, fontname, size)
fontname = (char *) XSTRING (XCONS (font_names)->car)->data;
BLOCK_INPUT;
count = x_catch_errors (FRAME_X_DISPLAY (f));
font = (XFontStruct *) XLoadQueryFont (FRAME_X_DISPLAY (f), fontname);
if (x_had_errors_p (FRAME_X_DISPLAY (f)))
{
/* This error is perhaps due to insufficient memory on X
server. Let's just ignore it. */
font = NULL;
x_clear_errors (FRAME_X_DISPLAY (f));
}
x_uncatch_errors (FRAME_X_DISPLAY (f), count);
UNBLOCK_INPUT;
if (!font)
return NULL;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment