aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1996-04-20 01:56:06 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1996-04-20 01:56:06 +0000
commit7b75f15fa785c8a3816de19cf635203f4531b757 (patch)
tree419f18c09249b8e3eeb1e180129cc40414a328d6 /gnu
parent060882c315b50f0803a5b64a9bb1d0e2e0476e0f (diff)
Notes
Diffstat (limited to 'gnu')
-rw-r--r--gnu/lib/libdialog/checklist.c4
-rw-r--r--gnu/lib/libdialog/radiolist.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/gnu/lib/libdialog/checklist.c b/gnu/lib/libdialog/checklist.c
index 4be328276310..1090293792c3 100644
--- a/gnu/lib/libdialog/checklist.c
+++ b/gnu/lib/libdialog/checklist.c
@@ -316,9 +316,9 @@ draw:
save = dupwin(newscr);
st = ditems[scroll + choice].fire(&ditems[scroll + choice]);
if (st & DITEM_REDRAW) {
+ for (i = 0; i < item_no; i++)
+ status[i] = ditems[i].checked ? ditems[i].checked(&ditems[i]) : FALSE;
for (i = 0; i < max_choice; i++) {
- status[scroll + i] = ditems[scroll + i].checked ?
- ditems[scroll + i].checked(&ditems[scroll + i]) : FALSE;
print_item(list, items[(scroll + i) * 3], items[(scroll + i) * 3 + 1],
status[scroll + i], i, i == choice, DREF(ditems, scroll + i));
}
diff --git a/gnu/lib/libdialog/radiolist.c b/gnu/lib/libdialog/radiolist.c
index daa88817c6a5..970953bb3aed 100644
--- a/gnu/lib/libdialog/radiolist.c
+++ b/gnu/lib/libdialog/radiolist.c
@@ -322,9 +322,10 @@ draw:
save = dupwin(newscr);
st = ditems[scroll + choice].fire(&ditems[scroll + choice]);
if (st & DITEM_REDRAW) {
+ for (i = 0; i < item_no; i++)
+ status[i] = ditems[i].checked ? ditems[i].checked(&ditems[i]) : FALSE;
+
for (i = 0; i < max_choice; i++) {
- status[scroll + i] = ditems[scroll + i].checked ?
- ditems[scroll + i].checked(&ditems[scroll + i]) : FALSE;
print_item(list, items[(scroll + i) * 3], items[(scroll + i) * 3 + 1],
status[scroll + i], i, i == choice,
DREF(ditems, scroll + i));