From 2416437eb850dd800cb61369297d35d928ce2be5 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 20 Nov 2001 20:44:17 +0000 Subject: [PATCH] /SET colors OFF should work even if /SET term_force_colors is ON git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2131 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/fe-text/term.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/fe-text/term.c b/src/fe-text/term.c index f4f830ac..8c3cc95e 100644 --- a/src/fe-text/term.c +++ b/src/fe-text/term.c @@ -36,6 +36,7 @@ int term_use_colors; +static int force_colors; static int resize_dirty; /* Resize the terminal if needed */ @@ -92,19 +93,14 @@ static void read_settings(void) { int old_colors = term_use_colors; - if (settings_get_bool("term_force_colors")) { - if (!term_use_colors) { - term_force_colors(TRUE); - term_use_colors = TRUE; - } - } else { - if (!term_has_colors() && term_use_colors) - term_force_colors(FALSE); - term_use_colors = settings_get_bool("colors"); - if (term_use_colors && !term_has_colors()) - term_use_colors = FALSE; + if (force_colors != settings_get_bool("term_force_colors")) { + force_colors = !settings_get_bool("term_force_colors"); + term_force_colors(force_colors); } + term_use_colors = settings_get_bool("colors") && + (force_colors || term_has_colors()); + if (term_use_colors != old_colors) irssi_redraw(); }