aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2011-10-14 13:44:39 -0400
committerStefan Monnier2011-10-14 13:44:39 -0400
commit6b02f655f1f20477b8a936bbf621e602542aca15 (patch)
tree39358de00ac03f81e7740e22eced5ec08e9240ca /src
parent186f4720cca79dc4261d538abe2d30429246122b (diff)
downloademacs-6b02f655f1f20477b8a936bbf621e602542aca15.tar.gz
emacs-6b02f655f1f20477b8a936bbf621e602542aca15.zip
* src/xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained
errors in XSetWindowBorder. Fixes: debbugs:9310
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog36
-rw-r--r--src/xterm.c9
2 files changed, 25 insertions, 20 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 52fe8baa92e..79503c147e3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12011-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained
4 errors in XSetWindowBorder (bug#9310).
5
12011-10-13 Dmitry Antipov <dmantipov@yandex.ru> 62011-10-13 Dmitry Antipov <dmantipov@yandex.ru>
2 7
3 * editfns.c (Fset_time_zone_rule): Replace free with xfree to 8 * editfns.c (Fset_time_zone_rule): Replace free with xfree to
@@ -71,8 +76,8 @@
71 76
722011-10-07 Stefan Monnier <monnier@iro.umontreal.ca> 772011-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
73 78
74 * buffer.c (syms_of_buffer) <enable-multibyte-characters>: Don't 79 * buffer.c (syms_of_buffer) <enable-multibyte-characters>:
75 advertise functionality which we discourage or doesn't work. 80 Don't advertise functionality which we discourage or doesn't work.
76 81
772011-10-07 Paul Eggert <eggert@cs.ucla.edu> 822011-10-07 Paul Eggert <eggert@cs.ucla.edu>
78 83
@@ -338,8 +343,7 @@
3382011-09-17 Eli Zaretskii <eliz@gnu.org> 3432011-09-17 Eli Zaretskii <eliz@gnu.org>
339 344
340 * xdisp.c (reseat_at_next_visible_line_start): Keep information 345 * xdisp.c (reseat_at_next_visible_line_start): Keep information
341 about the current paragraph and restore it after the call to 346 about the current paragraph and restore it after the call to reseat.
342 reseat.
343 347
344 * bidi.c (MAX_PARAGRAPH_SEARCH): New macro. 348 * bidi.c (MAX_PARAGRAPH_SEARCH): New macro.
345 (bidi_find_paragraph_start): Search back for paragraph beginning 349 (bidi_find_paragraph_start): Search back for paragraph beginning
@@ -559,7 +563,7 @@
559 * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values. 563 * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values.
560 (esprintf, exprintf, evxprintf): New functions. 564 (esprintf, exprintf, evxprintf): New functions.
561 * keyboard.c (command_loop_level): Now EMACS_INT, not int. 565 * keyboard.c (command_loop_level): Now EMACS_INT, not int.
562 (cmd_error): kbd macro iterations count is now EMACS_INT, not int. 566 (cmd_error): Kbd macro iterations count is now EMACS_INT, not int.
563 (modify_event_symbol): Do not assume that the length of 567 (modify_event_symbol): Do not assume that the length of
564 name_alist_or_stem is safe to alloca and fits in int. 568 name_alist_or_stem is safe to alloca and fits in int.
565 (Fexecute_extended_command): Likewise for function name and binding. 569 (Fexecute_extended_command): Likewise for function name and binding.
@@ -1303,8 +1307,7 @@
1303 1307
13042011-08-18 Andreas Schwab <schwab@linux-m68k.org> 13082011-08-18 Andreas Schwab <schwab@linux-m68k.org>
1305 1309
1306 * process.c (Fnetwork_interface_list): Correctly determine buffer 1310 * process.c (Fnetwork_interface_list): Correctly determine buffer size.
1307 size.
1308 1311
13092011-08-17 Chong Yidong <cyd@stupidchicken.com> 13122011-08-17 Chong Yidong <cyd@stupidchicken.com>
1310 1313
@@ -1349,15 +1352,10 @@
1349 1352
13502011-08-15 Eli Zaretskii <eliz@gnu.org> 13532011-08-15 Eli Zaretskii <eliz@gnu.org>
1351 1354
1352 * biditype.h: File removed. 1355 * bidimirror.h:
1353 1356 * biditype.h: Remove file.
1354 * bidimirror.h: File removed. 1357 * makefile.w32-in ($(BLD)/bidi.$(O)):
1355 1358 * deps.mk (bidi.o): Remove biditype.h and bidimirror.h.
1356 * deps.mk (bidi.o): Remove biditype.h and
1357 bidimirror.h.
1358
1359 * makefile.w32-in ($(BLD)/bidi.$(O)): Remove biditype.h and
1360 bidimirror.h.
1361 1359
1362 * dispextern.h: Fix a typo in the comment to bidi_type_t. 1360 * dispextern.h: Fix a typo in the comment to bidi_type_t.
1363 1361
@@ -1532,8 +1530,7 @@
1532 1530
15332011-08-04 Andreas Schwab <schwab@linux-m68k.org> 15312011-08-04 Andreas Schwab <schwab@linux-m68k.org>
1534 1532
1535 * regex.c (re_iswctype): Remove some redundant boolean 1533 * regex.c (re_iswctype): Remove some redundant boolean conversions.
1536 conversions.
1537 1534
15382011-08-04 Jan Djärv <jan.h.d@swipnet.se> 15352011-08-04 Jan Djärv <jan.h.d@swipnet.se>
1539 1536
@@ -2070,8 +2067,7 @@
20702011-07-15 Eli Zaretskii <eliz@gnu.org> 20672011-07-15 Eli Zaretskii <eliz@gnu.org>
2071 2068
2072 * xdisp.c (move_it_in_display_line_to): Fix vertical motion with 2069 * xdisp.c (move_it_in_display_line_to): Fix vertical motion with
2073 bidi redisplay when a line includes both an image and is 2070 bidi redisplay when a line includes both an image and is truncated.
2074 truncated.
2075 2071
20762011-07-14 Paul Eggert <eggert@cs.ucla.edu> 20722011-07-14 Paul Eggert <eggert@cs.ucla.edu>
2077 2073
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)
3355 and border pixel are window attributes which are "private to the 3355 and border pixel are window attributes which are "private to the
3356 client", so we can always change it to whatever we want. */ 3356 client", so we can always change it to whatever we want. */
3357 BLOCK_INPUT; 3357 BLOCK_INPUT;
3358 /* I recently started to get errors in this XSetWindowBorder, depending on
3359 the window-manager in use, tho something more is at play since I've been
3360 using that same window-manager binary for ever. Let's not crash just
3361 because of this (bug#9310). */
3362 x_catch_errors (FRAME_X_DISPLAY (f));
3358 XSetWindowBorder (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), 3363 XSetWindowBorder (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
3359 f->output_data.x->border_pixel); 3364 f->output_data.x->border_pixel);
3365 x_uncatch_errors ();
3360 UNBLOCK_INPUT; 3366 UNBLOCK_INPUT;
3361 x_update_cursor (f, 1); 3367 x_update_cursor (f, 1);
3362 x_set_frame_alpha (f); 3368 x_set_frame_alpha (f);
@@ -3370,8 +3376,11 @@ frame_unhighlight (struct frame *f)
3370 and border pixel are window attributes which are "private to the 3376 and border pixel are window attributes which are "private to the
3371 client", so we can always change it to whatever we want. */ 3377 client", so we can always change it to whatever we want. */
3372 BLOCK_INPUT; 3378 BLOCK_INPUT;
3379 /* Same as above for XSetWindowBorder (bug#9310). */
3380 x_catch_errors (FRAME_X_DISPLAY (f));
3373 XSetWindowBorderPixmap (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), 3381 XSetWindowBorderPixmap (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
3374 f->output_data.x->border_tile); 3382 f->output_data.x->border_tile);
3383 x_uncatch_errors ();
3375 UNBLOCK_INPUT; 3384 UNBLOCK_INPUT;
3376 x_update_cursor (f, 1); 3385 x_update_cursor (f, 1);
3377 x_set_frame_alpha (f); 3386 x_set_frame_alpha (f);