# HG changeset patch # User Richard M. Stallman # Date 792771749 0 # Node ID 6977bff3ff38a2556cee364420a971cfd78190bf # Parent e4d6f6f1fc1787f3d2a2be78510a15a435afad8f (x_display_bar_cursor): Use frame's cursor_width. (x_connection_signal): New function. (x_initialize): Use it as signal handler. diff -r e4d6f6f1fc17 -r 6977bff3ff38 src/xterm.c --- a/src/xterm.c Tue Feb 14 09:42:14 1995 +0000 +++ b/src/xterm.c Tue Feb 14 14:22:29 1995 +0000 @@ -4127,7 +4127,8 @@ f->display.x->cursor_gc, CHAR_TO_PIXEL_COL (f, curs_x), CHAR_TO_PIXEL_ROW (f, curs_y), - 1, f->display.x->line_height); + max (f->display.x->cursor_width, 1), + f->display.x->line_height); f->phys_cursor_x = curs_x; f->phys_cursor_y = curs_y; @@ -4404,6 +4405,18 @@ error ("%s", error_message); } +static SIGTYPE +x_connection_signal (signalnum) /* If we don't have an argument, */ + int signalnum; /* some compilers complain in signal calls. */ +{ + /* We really ought to close the connection to the display + that actually failed. + But do we actually get this signal ever with X11? */ + fprintf (stderr, "X connection closed"); + shut_down_emacs (0, 0, Qnil); + exit (70); +} + /* This is the usual handler for X protocol errors. It kills all frames on the display that we got the error for. If that was the only one, it prints an error message and kills Emacs. */ @@ -5836,7 +5849,7 @@ signal (SIGWINCH, SIG_DFL); #endif /* ! defined (SIGWINCH) */ - signal (SIGPIPE, x_connection_closed); + signal (SIGPIPE, x_connection_signal); } void