summaryrefslogtreecommitdiffstats
path: root/gnu/lib/libdialog
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1996-04-20 01:56:06 +0000
committerjkh <jkh@FreeBSD.org>1996-04-20 01:56:06 +0000
commit3530e10a1a8aa576a4aea7aa2a07abaaee70f65e (patch)
tree419f18c09249b8e3eeb1e180129cc40414a328d6 /gnu/lib/libdialog
parente1617c234c63e37eeb39e6e512a1172b0ffa0fdb (diff)
downloadFreeBSD-src-3530e10a1a8aa576a4aea7aa2a07abaaee70f65e.zip
FreeBSD-src-3530e10a1a8aa576a4aea7aa2a07abaaee70f65e.tar.gz
Another bug fix for the DITEM_REDRAW case.
Diffstat (limited to 'gnu/lib/libdialog')
-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 4be3282..1090293 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 daa8881..970953b 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));
OpenPOWER on IntegriCloud