[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Correction for 20020921
From: |
Thomas Dickey |
Subject: |
Re: Correction for 20020921 |
Date: |
Fri, 27 Sep 2002 05:44:11 -0400 |
User-agent: |
Mutt/1.3.27i |
On Fri, Sep 27, 2002 at 06:46:38AM +0200, Philippe Blain wrote:
> >From Philippe Blain, Bordeaux, FRANCE.
> My old computer: P133 - 8,4 Go - 32 Mo Red Hat Linux 7.0
>
> To maintainers of 'ncurses'.(and to Mr Dickey)
> Subject: Corrections for ncurses-5.2-20020921+
>
> Here are some problems I found :
>
> ----------------------------------------------------------------------------
> ----
> File : ncurses/base/lib_bkgd.c
>
> Function : wbkgrnd()
>
> ...............
> else {
> NCURSES_CH_T wch = win->_line[y].text[x];
> ==> RemAttr(wch, A_ALTCHARSET);
> win->_line[y].text[x] = _nc_render(win, wch);
I did find that myself on Sunday. The line should read
RemAttr(wch, ~(A_ALTCHARSET));
> }
> ...............
>
> Think that line is doing a visual bug when changing bkgrnd on a window
> with line-drawing characters.
> The graphics characters are changed in some ASCII chars.
>
> Originaly, it was a ==> RemAttr(wch, ~A_ALTCHARSET); which did nothing.
> That line was introduced from ncurses-5.1 to ncurses-5.2 with wide_chars
> support. In ncurses-5.1, it was (also false ?):
> ...............
> else
> win->_line[y].text[x] = _nc_render(win,
> (A_ALTCHARSET & AttrOf(win->_line[y].text[x])) |
> TextOf(win->_line[y].text[x]));
> ...............
> And I don't see why removing the A_ALTCHARSET from graphics chars here ?.
Actually - I didn't notice before either - it was removing all but A_ALTCHARSET,
to simplify merging of the background attributes. I happened to notice the
c++ demo's boxes weren't drawn properly (the only case where I'd seen this
broken).
--
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net