From c0970c42209c707f14e6ef6d50dd5861682a11ae Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Thu, 25 Aug 2011 13:45:08 -0700 Subject: [PATCH] Force a screen re-draw after tcap 'ti' on terminal open The 'tcapkopen()' function re-initializes the terminal with the 'ti' sequence, which for most sane termcap entries is just empty. But for 'xterm', that seems to actually be a real control sequence (clear and reset?), and we'd better tell display.c that the screen is now garbage and needs to be re-drawn. Also, make tcapkclose() match the 'ti' (terminal init) with a 'te' (terminal exit). Maybe we should just stop playing games with ti/te, but this at least improves the situation a bit. Reported-by: Bijan Soleymani Signed-off-by: Linus Torvalds --- tcap.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tcap.c b/tcap.c index 33a2f22..fa71fa6 100644 --- a/tcap.c +++ b/tcap.c @@ -229,12 +229,19 @@ static void tcapkopen(void) #if PKCODE putpad(TI); ttflush(); + ttrow = 999; + ttcol = 999; + sgarbf = TRUE; #endif strcpy(sres, "NORMAL"); } static void tcapkclose(void) { +#if PKCODE + putpad(TE); + ttflush(); +#endif } static void tcapmove(int row, int col)