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: