From: Stefan Monnier Date: Fri, 14 Oct 2011 17:44:39 +0000 (-0400) Subject: * src/xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained X-Git-Tag: emacs-pretest-24.0.91~122 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6b02f655f1f20477b8a936bbf621e602542aca15;p=emacs.git * src/xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained errors in XSetWindowBorder. Fixes: debbugs:9310 --- diff --git a/src/ChangeLog b/src/ChangeLog index 52fe8baa92e..79503c147e3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-10-14 Stefan Monnier + + * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained + errors in XSetWindowBorder (bug#9310). + 2011-10-13 Dmitry Antipov * editfns.c (Fset_time_zone_rule): Replace free with xfree to @@ -71,8 +76,8 @@ 2011-10-07 Stefan Monnier - * buffer.c (syms_of_buffer) : Don't - advertise functionality which we discourage or doesn't work. + * buffer.c (syms_of_buffer) : + Don't advertise functionality which we discourage or doesn't work. 2011-10-07 Paul Eggert @@ -338,8 +343,7 @@ 2011-09-17 Eli Zaretskii * xdisp.c (reseat_at_next_visible_line_start): Keep information - about the current paragraph and restore it after the call to - reseat. + about the current paragraph and restore it after the call to reseat. * bidi.c (MAX_PARAGRAPH_SEARCH): New macro. (bidi_find_paragraph_start): Search back for paragraph beginning @@ -559,7 +563,7 @@ * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values. (esprintf, exprintf, evxprintf): New functions. * keyboard.c (command_loop_level): Now EMACS_INT, not int. - (cmd_error): kbd macro iterations count is now EMACS_INT, not int. + (cmd_error): Kbd macro iterations count is now EMACS_INT, not int. (modify_event_symbol): Do not assume that the length of name_alist_or_stem is safe to alloca and fits in int. (Fexecute_extended_command): Likewise for function name and binding. @@ -1303,8 +1307,7 @@ 2011-08-18 Andreas Schwab - * process.c (Fnetwork_interface_list): Correctly determine buffer - size. + * process.c (Fnetwork_interface_list): Correctly determine buffer size. 2011-08-17 Chong Yidong @@ -1349,15 +1352,10 @@ 2011-08-15 Eli Zaretskii - * biditype.h: File removed. - - * bidimirror.h: File removed. - - * deps.mk (bidi.o): Remove biditype.h and - bidimirror.h. - - * makefile.w32-in ($(BLD)/bidi.$(O)): Remove biditype.h and - bidimirror.h. + * bidimirror.h: + * biditype.h: Remove file. + * makefile.w32-in ($(BLD)/bidi.$(O)): + * deps.mk (bidi.o): Remove biditype.h and bidimirror.h. * dispextern.h: Fix a typo in the comment to bidi_type_t. @@ -1532,8 +1530,7 @@ 2011-08-04 Andreas Schwab - * regex.c (re_iswctype): Remove some redundant boolean - conversions. + * regex.c (re_iswctype): Remove some redundant boolean conversions. 2011-08-04 Jan Djärv @@ -2070,8 +2067,7 @@ 2011-07-15 Eli Zaretskii * xdisp.c (move_it_in_display_line_to): Fix vertical motion with - bidi redisplay when a line includes both an image and is - truncated. + bidi redisplay when a line includes both an image and is truncated. 2011-07-14 Paul Eggert diff --git a/src/xterm.c b/src/xterm.c index 4d3b572ade9..333132b92cb 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -3355,8 +3355,14 @@ frame_highlight (struct frame *f) and border pixel are window attributes which are "private to the client", so we can always change it to whatever we want. */ BLOCK_INPUT; + /* I recently started to get errors in this XSetWindowBorder, depending on + the window-manager in use, tho something more is at play since I've been + using that same window-manager binary for ever. Let's not crash just + because of this (bug#9310). */ + x_catch_errors (FRAME_X_DISPLAY (f)); XSetWindowBorder (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), f->output_data.x->border_pixel); + x_uncatch_errors (); UNBLOCK_INPUT; x_update_cursor (f, 1); x_set_frame_alpha (f); @@ -3370,8 +3376,11 @@ frame_unhighlight (struct frame *f) and border pixel are window attributes which are "private to the client", so we can always change it to whatever we want. */ BLOCK_INPUT; + /* Same as above for XSetWindowBorder (bug#9310). */ + x_catch_errors (FRAME_X_DISPLAY (f)); XSetWindowBorderPixmap (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), f->output_data.x->border_tile); + x_uncatch_errors (); UNBLOCK_INPUT; x_update_cursor (f, 1); x_set_frame_alpha (f);