[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/2] curses: correctly pass the color pair to setcchar()
From: |
Samuel Thibault |
Subject: |
Re: [PATCH v2 2/2] curses: correctly pass the color pair to setcchar() |
Date: |
Sun, 13 Oct 2019 17:34:45 +0200 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Matthew Kilgore, le jeu. 03 oct. 2019 23:53:38 -0400, a ecrit:
> The current code does not correctly pass the color pair information to
> setcchar(), it instead always passes zero. This results in the curses
> output always being in white on black.
>
> This patch fixes this by using PAIR_NUMBER() to retrieve the color pair
> number from the chtype value, and then passes that value as an argument
> to setcchar().
>
> Signed-off-by: Matthew Kilgore <address@hidden>
Reviewed-by: Samuel Thibault <address@hidden>
Tested-by: Samuel Thibault <address@hidden>
Thanks!
> ---
> ui/curses.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/ui/curses.c b/ui/curses.c
> index 84003f56a323..3a1b71451c93 100644
> --- a/ui/curses.c
> +++ b/ui/curses.c
> @@ -77,12 +77,14 @@ static void curses_update(DisplayChangeListener *dcl,
> for (x = 0; x < width; x++) {
> chtype ch = line[x] & A_CHARTEXT;
> chtype at = line[x] & A_ATTRIBUTES;
> + short color_pair = PAIR_NUMBER(line[x]);
> +
> ret = getcchar(&vga_to_curses[ch], wch, &attrs, &colors, NULL);
> if (ret == ERR || wch[0] == 0) {
> wch[0] = ch;
> wch[1] = 0;
> }
> - setcchar(&curses_line[x], wch, at, 0, NULL);
> + setcchar(&curses_line[x], wch, at, color_pair, NULL);
> }
> mvwadd_wchnstr(screenpad, y, 0, curses_line, width);
> }
> --
> 2.23.0
>
--
Samuel
<macavity> bash: ls: Computer bought the farm
<macavity> THAT frightens ppl! :P
<macavity> id rather see: "bash: ls: Initialization of googol(AWAX)
disengaged in HYPER32/64 mode due to faulty page request at
AX:12A34F84B"
<macavity> at least that would give me the feeling that the
*programmers* knows what is going on :P
(lovely Hurd...)