[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#3113: dselect provokes ncurses problem when window enlarged



Package: ncurses3.0-dev
Version: 1.9.9e-1

To reproduce: install dpkg 1.2.2elf (or any recent dpkg), and run
dselect's package selection screen in an xterm (non-root will do).

Resize the window so that it is larger vertically but the same size
horizontally.  The display is now corrupted: every time it is
repainted the screen is scrolled up by a number of lines equal to the
amount the window was resized.  Hitting ^L in dselect doesn't help.

Resizing the window horizontally cures the problem, as does shrinking
it vertically.

dselect's code in this area is very straightforward: when it gets a
SIGWINCH (the signal catching is a little tricky, but fairly
standard), it destroys all its existing pads and windows and
recalculates their sizes and recreates them.  It doesn't handling
shrinking and growing differently.  People who think that dselect is
doing something wrong are invited to look at the source code and/or
get ncurses to produce a trace file or use dselects -D<file> flag.

Ian.

-chiark:~> dpkg -l 'ncurses*'
Desired=Unknown/Install/Remove/Purge
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name            Version        Description
+++-===============-==============-============================================
ii  ncurses-base    1.9.9e-1       Video terminal manipulation: Minimum set of
ii  ncurses-bin     1.9.9e-1       Video terminal manipulation: associated prog
ii  ncurses-term    1.9.9e-1       Video terminal manipulation: additional term
ii  ncurses3.0      1.9.9e-1       Video terminal manipulation: shared librarie
ii  ncurses3.0-dev  1.9.9e-1       Video terminal manipulation: Developer's lib
-chiark:~>


Reply to: