diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2006-11-23 10:08:04 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2006-11-23 10:08:04 +0000 |
commit | bf4071fad04c9ea670aa8344b6bd20e4763a0082 (patch) | |
tree | c6fc03a69cd3836060ab5ed739d10ad002480636 /winsup/cygwin/fhandler_console.cc | |
parent | 9e3f289f51a287863beed8688d1632a269c40db5 (diff) | |
download | newlib-bf4071fad04c9ea670aa8344b6bd20e4763a0082.zip newlib-bf4071fad04c9ea670aa8344b6bd20e4763a0082.tar.gz newlib-bf4071fad04c9ea670aa8344b6bd20e4763a0082.tar.bz2 |
* fhandler_console.cc (set_color): Avoid (again) inappropriate
intensity interchanging that used to render reverse output unreadable
when (non-reversed) text is bright.
See http://sourceware.org/bugzilla/show_bug.cgi?id=514
Diffstat (limited to 'winsup/cygwin/fhandler_console.cc')
-rw-r--r-- | winsup/cygwin/fhandler_console.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index 82ede58..6f1e739 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -948,6 +948,8 @@ dev_console::set_color (HANDLE h) (save_fg & FOREGROUND_BLUE ? BACKGROUND_BLUE : 0) | (save_fg & FOREGROUND_INTENSITY ? BACKGROUND_INTENSITY : 0); } + + /* apply attributes */ if (underline) win_fg = underline_color; /* emulate blink with bright background */ @@ -956,7 +958,12 @@ dev_console::set_color (HANDLE h) if (intensity == INTENSITY_INVISIBLE) win_fg = win_bg; else if (intensity == INTENSITY_BOLD) - win_fg |= FOREGROUND_INTENSITY; + /* apply foreground intensity only in non-reverse mode! */ + if (reverse) + win_bg |= BACKGROUND_INTENSITY; + else + win_fg |= FOREGROUND_INTENSITY; + current_win32_attr = win_fg | win_bg; if (h) SetConsoleTextAttribute (h, current_win32_attr); |