From 71e6b4d6177def759a70dabc54240d70509bc99f Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Sat, 26 Dec 2009 23:50:15 +0000 Subject: [PATCH] Sync OpenBSD patchset 594: Fix the logic so that transition from a 256 colour to default works properly. --- tty.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tty.c b/tty.c index e2cd3244..976cfc42 100644 --- a/tty.c +++ b/tty.c @@ -1,4 +1,4 @@ -/* $Id: tty.c,v 1.184 2009-12-26 23:49:27 tcunha Exp $ */ +/* $Id: tty.c,v 1.185 2009-12-26 23:50:15 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -1258,19 +1258,21 @@ tty_colours(struct tty *tty, const struct grid_cell *gc, u_char *attr) tty_reset(tty); else { if (fg_default && - fg != tc->fg && !(tc->flags & GRID_FLAG_FG256)) { + (tc->fg != 8 || tc->flags & GRID_FLAG_FG256)) { if (have_ax) tty_puts(tty, "\033[39m"); - else if (tc->fg != 7) + else if (tc->fg != 7 || + tc->flags & GRID_FLAG_FG256) tty_putcode1(tty, TTYC_SETAF, 7); tc->fg = 8; tc->flags &= ~GRID_FLAG_FG256; } if (bg_default && - bg != tc->bg && !(tc->flags & GRID_FLAG_BG256)) { + (tc->bg != 8 || tc->flags & GRID_FLAG_BG256)) { if (have_ax) tty_puts(tty, "\033[49m"); - else if (tc->bg != 0) + else if (tc->bg != 0 || + tc->flags & GRID_FLAG_BG256) tty_putcode1(tty, TTYC_SETAB, 0); tc->bg = 8; tc->flags &= ~GRID_FLAG_BG256;