Re: Another Menuconfig bug fix: allow integer value 0

Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
29 Dec 1997 11:55:47 +0100


Jon Evans <jon@evansoft.demon.co.uk> writes:

|> 2) Screen corruption when pressing PgUp/PgDown in a long list
|> - I've got a patch for this at home that someone posted to
|> this list ages ago. Haven't tried it with later kernels but
|> I'll try it when I get home.

This is a bug in the lxdialog utility, which tries to write to the lower
right position of a window while scrolling is enabled. This causes the
window to scroll, and messes up the whole display.

--- scripts/lxdialog/menubox.c.~1~ Mon Apr 29 19:45:05 1996
+++ scripts/lxdialog/menubox.c Sun Dec 14 10:47:29 1997
@@ -261,26 +261,26 @@
choice = MIN(choice+1, max_choice-1);

} else if (key == KEY_PPAGE) {
- scrollok (menu, TRUE);
for (i=0; (i < max_choice) && (scroll > 0); i++) {
+ scrollok (menu, TRUE);
wscrl (menu, -1);
+ scrollok (menu, FALSE);
scroll--;
print_item (menu, items[scroll * 2 + 1], 0, FALSE,
(items[scroll*2][0] != ':'));
}
- scrollok (menu, FALSE);
choice = 0;

} else if (key == KEY_NPAGE) {
- scrollok (menu, TRUE);
for (i=0; (i < max_choice) && (scroll+max_choice < item_no); i++) {
+ scrollok (menu, TRUE);
scroll(menu);
+ scrollok (menu, FALSE);
scroll++;
print_item (menu, items[(scroll+max_choice-1)*2+1],
max_choice-1, FALSE,
(items[(scroll+max_choice-1)*2][0] != ':'));
}
- scrollok (menu, FALSE);
choice = 0;

} else

-- 
Andreas Schwab                                      "And now for something
schwab@issan.informatik.uni-dortmund.de              completely different"
schwab@gnu.org