From b602372e78597bb8a670e4e2bd76acfcb72b21d8 Mon Sep 17 00:00:00 2001 From: Ailin Nemui Date: Thu, 31 Jul 2014 02:34:18 +0200 Subject: fix mirc_blink_fix the background colours were totally off with mirc_blink_fix enabled. oops. reported by wodim --- src/fe-text/gui-printtext.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/fe-text/gui-printtext.c b/src/fe-text/gui-printtext.c index cf6028b5..337d0739 100644 --- a/src/fe-text/gui-printtext.c +++ b/src/fe-text/gui-printtext.c @@ -158,8 +158,11 @@ static void get_colors(int flags, int *fg, int *bg, int *attr) if (*bg >= 0) { *bg = mirc_colors[*bg % 100]; flags &= ~GUI_PRINT_FLAG_COLOR_24_BG; - if (settings_get_bool("mirc_blink_fix")) - *bg = term_color256map[*bg&0xff] & ~0x08; + if (settings_get_bool("mirc_blink_fix")) { + if (*bg < 16) /* ansi bit flip :-( */ + *bg = (*bg&8) | (*bg&4)>>2 | (*bg&2) | (*bg&1)<<2; + *bg = term_color256map[*bg&0xff] & 7; + } } if (*fg >= 0) { *fg = mirc_colors[*fg % 100]; -- cgit v1.2.3