bug-ncurses
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]