Fix mouse redesigned mouse highlight on MSDOS.
authorEli Zaretskii <eliz@gnu.org>
Fri, 5 Nov 2010 12:11:22 +0000 (14:11 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 5 Nov 2010 12:11:22 +0000 (14:11 +0200)
 dispnew.c (init_display): Setup initial frame's output_data for
 text terminal frames.
 frame.h (MOUSE_HL_INFO): Fix TTY definition.
 msdos.h (initialize_msdos_display): Add prototype.

src/ChangeLog
src/dispnew.c
src/frame.h
src/msdos.h

index db3582d..e840b18 100644 (file)
@@ -1,5 +1,10 @@
 2010-11-05  Eli Zaretskii  <eliz@gnu.org>
 
+       * dispnew.c (init_display): Setup initial frame's output_data for
+       text terminal frames.
+
+       * frame.h (MOUSE_HL_INFO): Fix TTY definition.
+
        * dispextern.h (tty_draw_row_with_mouse_face): Add prototype.
 
        * xdisp.c (draw_row_with_mouse_face): Don't #ifdef away on MSDOS.
@@ -10,6 +15,7 @@
        GPM implementation.
 
        * msdos.h (Display_Info): Restore typedef.
+       (initialize_msdos_display): Add prototype.
 
 2010-11-02  Eli Zaretskii  <eliz@gnu.org>
 
index deb42f4..116d997 100644 (file)
@@ -6424,6 +6424,12 @@ init_display (void)
     f->terminal = t;
 
     t->reference_count++;
+#ifdef MSDOS
+    f->output_data.tty->display_info = &the_only_display_info;
+#else
+    if (f->output_method == output_termcap)
+      create_tty_output (f);
+#endif
     t->display_info.tty->top_frame = selected_frame;
     change_frame_size (XFRAME (selected_frame),
                        FrameRows (t->display_info.tty),
index 00c062c..72c0f6b 100644 (file)
@@ -550,7 +550,7 @@ typedef struct frame *FRAME_PTR;
 #define MOUSE_HL_INFO(F)                               \
   (FRAME_WINDOW_P(F)                                   \
    ? &(FRAME_X_DISPLAY_INFO(F)->mouse_highlight)       \
-   : &(((F)->output_data.tty)->mouse_highlight))
+   : &(((F)->output_data.tty->display_info)->mouse_highlight))
 
 /* Nonzero if frame F is still alive (not deleted).  */
 #define FRAME_LIVE_P(f) ((f)->terminal != 0)
index fe9964a..d07c28d 100644 (file)
@@ -34,6 +34,7 @@ void dostounix_filename (char *);
 char *rootrelativepath (char *);
 void init_environment (int, char **, int);
 void internal_terminal_init (void);
+void initialize_msdos_display (struct terminal *);
 
 extern int have_mouse;
 void mouse_init (void);