summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-04-10 17:23:18 +0000
committerRichard M. Stallman <rms@gnu.org>1996-04-10 17:23:18 +0000
commit18fd31a7b3c5f2c11ad0d77fa6dcbcb853f816e5 (patch)
treeb66b8ee64c58baac47f5e544e1faaf2749fb5e40 /src
parent2ad5a90a22539002e347dd05bec65825837d3f27 (diff)
downloademacs-18fd31a7b3c5f2c11ad0d77fa6dcbcb853f816e5.tar.gz
(Fx_list_fonts): Handle X protocol errors.
Diffstat (limited to 'src')
-rw-r--r--src/xfns.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/xfns.c b/src/xfns.c
index e3ad7cdad58..344fb921a5b 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3386,10 +3386,15 @@ even if they match PATTERN and FACE.")
{
XFontStruct *thisinfo;
- thisinfo = XLoadQueryFont (FRAME_X_DISPLAY (f),
+ x_catch_errors (FRAME_X_DISPLAY (f));
+
+ thisinfo = XLoadQueryFont (FRAME_X_DISPLAY (f),
XSTRING (XCONS (tem)->car)->data);
- if (thisinfo && same_size_fonts (thisinfo, size_ref))
+ x_check_errors (FRAME_X_DISPLAY (f), "XLoadQueryFont failure: %s");
+ x_uncatch_errors (FRAME_X_DISPLAY (f));
+
+ if (thisinfo && same_size_fonts (thisinfo, size_ref))
newlist = Fcons (XCONS (tem)->car, newlist);
if (thisinfo != 0)
@@ -3403,6 +3408,8 @@ even if they match PATTERN and FACE.")
BLOCK_INPUT;
+ x_catch_errors (FRAME_X_DISPLAY (f));
+
/* Solaris 2.3 has a bug in XListFontsWithInfo. */
#ifndef BROKEN_XLISTFONTSWITHINFO
if (size_ref)
@@ -3418,6 +3425,9 @@ even if they match PATTERN and FACE.")
2000, /* maxnames */
&num_fonts); /* count_return */
+ x_check_errors (FRAME_X_DISPLAY (f), "XListFonts failure: %s");
+ x_uncatch_errors (FRAME_X_DISPLAY (f));
+
UNBLOCK_INPUT;
list = Qnil;
@@ -3450,7 +3460,13 @@ even if they match PATTERN and FACE.")
XFontStruct *thisinfo;
BLOCK_INPUT;
+
+ x_catch_errors (FRAME_X_DISPLAY (f));
thisinfo = XLoadQueryFont (FRAME_X_DISPLAY (f), names[i]);
+ x_check_errors (FRAME_X_DISPLAY (f),
+ "XLoadQueryFont failure: %s");
+ x_uncatch_errors (FRAME_X_DISPLAY (f));
+
UNBLOCK_INPUT;
keeper = thisinfo && same_size_fonts (thisinfo, size_ref);