diff options
| author | Paul Eggert | 2011-10-14 12:11:46 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-10-14 12:11:46 -0700 |
| commit | 42dbaa0c43d5a6a1d03cdd046de448cf8a671015 (patch) | |
| tree | 36ccc1cd700a5404983013aa465adc84a1682ca7 /src/xterm.c | |
| parent | 91107bd98003435fbeead3325ce694248863da39 (diff) | |
| parent | 3d1337be7b53c158b3b6c4959fa9a7ed8f6f4ed6 (diff) | |
| download | emacs-42dbaa0c43d5a6a1d03cdd046de448cf8a671015.tar.gz emacs-42dbaa0c43d5a6a1d03cdd046de448cf8a671015.zip | |
Merge from trunk.
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c index f40deca1e88..df83941f0d1 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); |