From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH v2 1/3] ui/curses: Fix monitor color with -curses when 256 colors
Date: Mon, 19 Oct 2015 21:23:10 +0900 [thread overview]
Message-ID: <87a8rft5ch.fsf@mail.parknet.co.jp> (raw)
If TERM=xterm-256color, COLOR_PAIRS==256 and monitor passes chtype
like 0x74xx. Then, the code uses uninitialized color pair. As result,
monitor uses black for both of fg and bg color, i.e. terminal is
filled by black.
To fix, this initialize above than 64 with default color (fg=white,bg=black).
FIXME: on 256 color, curses may be possible better vga color emulation.
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---
ui/curses.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff -puN ui/curses.c~support-curses-256color ui/curses.c
--- qemu/ui/curses.c~support-curses-256color 2015-10-14 20:12:06.311051365 +0900
+++ qemu-hirofumi/ui/curses.c 2015-10-19 21:16:24.595994457 +0900
@@ -341,8 +341,13 @@ static void curses_setup(void)
nodelay(stdscr, TRUE); nonl(); keypad(stdscr, TRUE);
start_color(); raw(); scrollok(stdscr, FALSE);
- for (i = 0; i < 64; i ++)
+ for (i = 0; i < 64; i++) {
init_pair(i, colour_default[i & 7], colour_default[i >> 3]);
+ }
+ /* Set default color for more than 64. (monitor uses 0x74xx for example) */
+ for (i = 64; i < COLOR_PAIRS; i++) {
+ init_pair(i, COLOR_WHITE, COLOR_BLACK);
+ }
}
static void curses_keyboard_setup(void)
_
next reply other threads:[~2015-10-19 12:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-19 12:23 OGAWA Hirofumi [this message]
2015-10-19 12:23 ` [Qemu-devel] [PATCH v2 2/3] ui/curses: Support line graphics chars on -curses mode OGAWA Hirofumi
2015-10-19 12:24 ` [Qemu-devel] [PATCH v2 3/3] ui/curses: Fix pageup/pagedown on -curses OGAWA Hirofumi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a8rft5ch.fsf@mail.parknet.co.jp \
--to=hirofumi@mail.parknet.co.jp \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.