Fix the MSDOS build when running under CWSDPMI
* src/msdos.c (the_only_tty_output): Define. * src/msdos.h (the_only_tty_output): Declare. * src/frame.c (make_terminal_frame) [MSDOS]: * src/dispnew.c (init_display) [MSDOS]: Set up f->output_data.tty pointer using the_only_tty_output, before dereferencing the pointer. This prevents crashes with DPMI servers that provide NULL pointer protection.
This commit is contained in:
parent
7a608fc6f3
commit
70ec392866
4 changed files with 6 additions and 0 deletions
|
@ -6117,6 +6117,7 @@ init_display (void)
|
|||
|
||||
t->reference_count++;
|
||||
#ifdef MSDOS
|
||||
f->output_data.tty = &the_only_tty_output;
|
||||
f->output_data.tty->display_info = &the_only_display_info;
|
||||
#else
|
||||
if (f->output_method == output_termcap)
|
||||
|
|
|
@ -1117,6 +1117,7 @@ make_terminal_frame (struct terminal *terminal)
|
|||
f->terminal = terminal;
|
||||
f->terminal->reference_count++;
|
||||
#ifdef MSDOS
|
||||
f->output_data.tty = &the_only_tty_output;
|
||||
f->output_data.tty->display_info = &the_only_display_info;
|
||||
if (!inhibit_window_system
|
||||
&& (!FRAMEP (selected_frame) || !FRAME_LIVE_P (XFRAME (selected_frame))
|
||||
|
|
|
@ -420,6 +420,9 @@ static unsigned short outside_cursor;
|
|||
/* The only display since MS-DOS does not support multiple ones. */
|
||||
struct tty_display_info the_only_display_info;
|
||||
|
||||
/* The only tty_output, since MS-DOS supports only 1 display. */
|
||||
struct tty_output the_only_tty_output;
|
||||
|
||||
/* Support for DOS/V (allows Japanese characters to be displayed on
|
||||
standard, non-Japanese, ATs). Only supported for DJGPP v2 and later. */
|
||||
|
||||
|
|
|
@ -93,6 +93,7 @@ typedef int XRectangle;
|
|||
typedef struct tty_display_info Display_Info;
|
||||
|
||||
extern struct tty_display_info the_only_display_info;
|
||||
extern struct tty_output the_only_tty_output;
|
||||
|
||||
#define FRAME_X_DISPLAY(f) ((Display *) 0)
|
||||
#define FRAME_FONT(f) ((f)->output_data.tty->font)
|
||||
|
|
Loading…
Add table
Reference in a new issue