|
From: | Pavel Stehule |
Subject: | Re: wbkgd - little bit different behave in last ncurses (regression) |
Date: | Mon, 2 Mar 2020 12:48:54 +0100 |
po 2. 3. 2020 v 11:18 odesílatel Thomas Dickey <address@hidden> napsal:On Mon, Mar 02, 2020 at 11:14:41AM +0100, Pavel Stehule wrote:
> po 2. 3. 2020 v 11:10 odesílatel Thomas Dickey <address@hidden> napsal:
>
> > On Tue, Feb 25, 2020 at 10:06:58AM +0100, Pavel Stehule wrote:
> > > Hi
> > >
> > > I tested my ncurses-st-menu demo application and I was surprised so
> > shadows
> > > around menu are displayed incorrectly.
> > >
> > > In my code I try clean run
> > >
> > > clear()
> > > refresh()
> > >
> > > and it was good enough for previous versions.
> > >
> > > The shadow window is implemented in steps
> > >
> > > 1. werase(shadow_window)
> > > 2. overwrite(desktop_window, shadow_window)
> > > 3. I try to change attribute of chars inside shadow window
> > >
> > > mvwin_wch(menu->shadow_window, i, j, &cch);
> > > getcchar(&cch, wch, &attr, &cp, NULL);
> > >
> > > setcchar(&cch, wch,
> > > shadow_attr | (attr & A_ALTCHARSET),
> > > config->menu_shadow_cpn, NULL);
> > >
> > > mvwadd_wch(menu->shadow_window, i, j, &cch);
> > >
> > > And this method doesn't work correctly on ncurses version: 6.1, patch:
> > > 20190803
> > >
> > > Fedora Core 31
> > >
> > > The fix is not hard - I had to run explicitly
> > >
> > > wclear(stdsrc)
> > >
> > > But if I understand correctly, then just clear should be enough?
> > >
> > > Older working window preparing
> > >
> > > wbkgd(stdscr, COLOR_PAIR(1));
> > > wrefresh(stdscr);
> > >
> > > Now (after fix)
> > > wbkgd(stdscr, COLOR_PAIR(1));
> > > wclear(stdscr);
> > > wrefresh(stdscr);
> >
> > I took a look at this, compiling your examples against ncurses 6.2,
> > with the wclear commented-out, but don't see the breakage.
> >
>
> If you use master branch of ncurses-st-menu, then it was fixed by extra
> call of wclear by commit
>
> https://github.com/okbob/ncurses-st-menu/commit/b27cd2133f7bec06a3bbc61346214c0d113691a9
>
> so if you want to see this effect you should to checkout to
> afe09650ca5d691d90f89f35059bc5a8e3777f27
> commit.
>
> Or manually remove wclear
that's what I did. I'll take a look with my Fedora 31 machine,
to see if I missed something.maybe you have to remove explicitly simple executable filegit checkout d790f6eef348610dc8a71bda9c1e2fe883e06916and I can repeat this issueNázev : ncurses
Verze : 6.1
Vydání : 12.20190803.fc31
Architektura : x86_64
Velikost : 647 k
Zdroj : ncurses-6.1-12.20190803.fc31.src.rpm
Repozitář : @System
Z repozitáře : fedora
Souhrn : Ncurses support utilities
URL : https://invisible-island.net/ncurses/ncurses.html
Licence : MIT
Popis : The curses library routines are a terminal-independent method of
: updating character screens with reasonable optimization. The ncurses
: (new curses) library is a freely distributable replacement for the
: discontinued 4.4 BSD classic curses library.
:
: This package contains support utilities, including a terminfo compiler
: tic, a decompiler infocmp, clear, tput, tset, and a termcap conversion
: tool captoinfo.run ./simple and Alt-f
--
Thomas E. Dickey <address@hidden>
https://invisible-island.net
ftp://ftp.invisible-island.net
[Prev in Thread] | Current Thread | [Next in Thread] |