diff options
| author | Jan D | 2015-05-17 16:46:34 +0200 |
|---|---|---|
| committer | Jan D | 2015-05-17 16:46:34 +0200 |
| commit | 6445ee0fb751ae2c1dfef900d44721b3d952812f (patch) | |
| tree | d43006cb93d9ea7b00ea02aabcd5577c41ff827f /src/xterm.c | |
| parent | f92ac2e82ed199d6f25d2a59508e08addb1150ac (diff) | |
| parent | c9c4708ed47b18987940a71b98eb9873150d2b95 (diff) | |
| download | emacs-6445ee0fb751ae2c1dfef900d44721b3d952812f.tar.gz emacs-6445ee0fb751ae2c1dfef900d44721b3d952812f.zip | |
Merge branch 'master' into cairo
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/xterm.c b/src/xterm.c index 3d3e0a70cfa..8f595c87214 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -263,7 +263,7 @@ static int x_dispatch_event (XEvent *, Display *); | |||
| 263 | #endif | 263 | #endif |
| 264 | /* Don't declare this _Noreturn because we want no | 264 | /* Don't declare this _Noreturn because we want no |
| 265 | interference with debugging failing X calls. */ | 265 | interference with debugging failing X calls. */ |
| 266 | static void x_connection_closed (Display *, const char *); | 266 | static void x_connection_closed (Display *, const char *, bool); |
| 267 | static void x_wm_set_window_state (struct frame *, int); | 267 | static void x_wm_set_window_state (struct frame *, int); |
| 268 | static void x_wm_set_icon_pixmap (struct frame *, ptrdiff_t); | 268 | static void x_wm_set_icon_pixmap (struct frame *, ptrdiff_t); |
| 269 | static void x_initialize (void); | 269 | static void x_initialize (void); |
| @@ -3664,7 +3664,9 @@ x_draw_glyph_string (struct glyph_string *s) | |||
| 3664 | static void | 3664 | static void |
| 3665 | x_shift_glyphs_for_insert (struct frame *f, int x, int y, int width, int height, int shift_by) | 3665 | x_shift_glyphs_for_insert (struct frame *f, int x, int y, int width, int height, int shift_by) |
| 3666 | { | 3666 | { |
| 3667 | x_free_cr_resources (f); | 3667 | /* Never called on a GUI frame, see |
| 3668 | http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00456.html | ||
| 3669 | */ | ||
| 3668 | XCopyArea (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), FRAME_X_WINDOW (f), | 3670 | XCopyArea (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), FRAME_X_WINDOW (f), |
| 3669 | f->output_data.x->normal_gc, | 3671 | f->output_data.x->normal_gc, |
| 3670 | x, y, width, height, | 3672 | x, y, width, height, |
| @@ -9249,7 +9251,7 @@ static char *error_msg; | |||
| 9249 | the text of an error message that lead to the connection loss. */ | 9251 | the text of an error message that lead to the connection loss. */ |
| 9250 | 9252 | ||
| 9251 | static void | 9253 | static void |
| 9252 | x_connection_closed (Display *dpy, const char *error_message) | 9254 | x_connection_closed (Display *dpy, const char *error_message, bool ioerror) |
| 9253 | { | 9255 | { |
| 9254 | struct x_display_info *dpyinfo = x_display_info_for_display (dpy); | 9256 | struct x_display_info *dpyinfo = x_display_info_for_display (dpy); |
| 9255 | Lisp_Object frame, tail; | 9257 | Lisp_Object frame, tail; |
| @@ -9268,6 +9270,7 @@ x_connection_closed (Display *dpy, const char *error_message) | |||
| 9268 | dpyinfo->reference_count++; | 9270 | dpyinfo->reference_count++; |
| 9269 | dpyinfo->terminal->reference_count++; | 9271 | dpyinfo->terminal->reference_count++; |
| 9270 | } | 9272 | } |
| 9273 | if (ioerror) dpyinfo->display = 0; | ||
| 9271 | 9274 | ||
| 9272 | /* First delete frames whose mini-buffers are on frames | 9275 | /* First delete frames whose mini-buffers are on frames |
| 9273 | that are on the dead display. */ | 9276 | that are on the dead display. */ |
| @@ -9405,7 +9408,7 @@ x_error_quitter (Display *display, XErrorEvent *event) | |||
| 9405 | XGetErrorText (display, event->error_code, buf, sizeof (buf)); | 9408 | XGetErrorText (display, event->error_code, buf, sizeof (buf)); |
| 9406 | sprintf (buf1, "X protocol error: %s on protocol request %d", | 9409 | sprintf (buf1, "X protocol error: %s on protocol request %d", |
| 9407 | buf, event->request_code); | 9410 | buf, event->request_code); |
| 9408 | x_connection_closed (display, buf1); | 9411 | x_connection_closed (display, buf1, false); |
| 9409 | } | 9412 | } |
| 9410 | 9413 | ||
| 9411 | 9414 | ||
| @@ -9420,7 +9423,7 @@ x_io_error_quitter (Display *display) | |||
| 9420 | 9423 | ||
| 9421 | snprintf (buf, sizeof buf, "Connection lost to X server `%s'", | 9424 | snprintf (buf, sizeof buf, "Connection lost to X server `%s'", |
| 9422 | DisplayString (display)); | 9425 | DisplayString (display)); |
| 9423 | x_connection_closed (display, buf); | 9426 | x_connection_closed (display, buf, true); |
| 9424 | return 0; | 9427 | return 0; |
| 9425 | } | 9428 | } |
| 9426 | 9429 | ||
| @@ -12251,7 +12254,7 @@ static struct redisplay_interface x_redisplay_interface = | |||
| 12251 | x_draw_window_cursor, | 12254 | x_draw_window_cursor, |
| 12252 | x_draw_vertical_window_border, | 12255 | x_draw_vertical_window_border, |
| 12253 | x_draw_window_divider, | 12256 | x_draw_window_divider, |
| 12254 | x_shift_glyphs_for_insert, | 12257 | x_shift_glyphs_for_insert, /* Never called, se comment in function. */ |
| 12255 | x_show_hourglass, | 12258 | x_show_hourglass, |
| 12256 | x_hide_hourglass | 12259 | x_hide_hourglass |
| 12257 | }; | 12260 | }; |