[8655] in Athena Bugs
Fixes for tty OLH on the RS/6000
daemon@ATHENA.MIT.EDU (lwvanels@Athena.MIT.EDU)
Fri Nov 22 11:22:30 1991
From: lwvanels@Athena.MIT.EDU
Date: Fri, 22 Nov 91 11:22:30 -0500
To: bugs@Athena.MIT.EDU
Cc: probe@Athena.MIT.EDU
Reply-To: lwvanels@mit.edu
These patches fix the problems with flickering, and a situation where the
tty could be left in an odd state.
Patches to files in /source/athena/athena.bin/olh/ascii
*** /tmp/,RCSt1Qr4Ac5 Fri Nov 22 11:19:45 1991
--- main.c Fri Nov 22 11:14:14 1991
***************
*** 118,123 ****
--- 118,130 ----
++program;
/*
+ * Set up signal handlers
+ */
+
+ signal(SIGINT, handle_interrupt_event);
+ signal(SIGWINCH, handle_resize_event);
+
+ /*
* First, try creating display. If this fails, print a 'nice' error
* message and exit.
*/
***************
*** 146,151 ****
--- 153,159 ----
#endif /* ATHENA */
printf("The error was:\n");
com_err(program,code,"in menu_init");
+ curses_shutdown();
exit(1);
}
e = find_group("main");
***************
*** 152,157 ****
--- 160,166 ----
code = menu_load(e, &m);
if (code) {
com_err(program, code, "loading main menu");
+ curses_shutdown();
exit(1);
}
current_menu = 0;
***************
*** 164,176 ****
paint_windows();
show_message(COPYRIGHT);
hist_on = FALSE;
-
- /*
- * Set up signal handlers.
- */
-
- signal(SIGINT, handle_interrupt_event);
- signal(SIGWINCH, handle_resize_event);
/*
* Go into MainLoop. This does not exit. Rather, the user exits the
--- 173,178 ----
*** /tmp/,RCSt1QsQA9_ Fri Nov 22 11:19:58 1991
--- help.c Fri Nov 22 11:16:27 1991
***************
*** 160,166 ****
{
int i;
- wclear(win_instr);
for (i = 0; i < NUM_INSTR_LINES; i++)
{
wmove(win_instr, i, 0);
--- 160,165 ----
*** /tmp/,RCSt1QskAc5 Fri Nov 22 11:20:05 1991
--- get_token.c Fri Nov 22 11:17:18 1991
***************
*** 217,223 ****
}
}
! wclear(win_prompt);
wrefresh(win_prompt);
return token;
}
--- 217,224 ----
}
}
! if (!((token == TOKEN_SEL_NEXT) || (token == TOKEN_SEL_PREV)))
! wclear(win_prompt);
wrefresh(win_prompt);
return token;
}
*** /tmp/,RCSt1Qs4BfD Fri Nov 22 11:20:12 1991
--- curses.c Fri Nov 22 11:18:04 1991
***************
*** 249,255 ****
paint_prompt( )
{
wmove(win_prompt, 0, 0);
- wclear(win_prompt);
if (current_prompt != NULL)
waddstr(win_prompt, current_prompt);
if (current_input != NULL)
--- 249,254 ----
***************
*** 261,267 ****
paint_message( )
{
wmove(win_message, 0, 0);
! wclear(win_message);
if (current_message != NULL)
waddstr(win_message, current_message);
}
--- 260,266 ----
paint_message( )
{
wmove(win_message, 0, 0);
! wclrtoeol(win_message);
if (current_message != NULL)
waddstr(win_message, current_message);
}