diff options
author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-04-25 17:27:18 +0000 |
---|---|---|
committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-04-25 17:27:18 +0000 |
commit | 7af0a5dbaf0ac5150798accd11471ea4da962b23 (patch) | |
tree | e822bdc6b2c8959905289166ed025fc7688ac007 /gnu/lib/libdialog | |
parent | cc8c03844905b12adc09a9d8dfb48deecc804126 (diff) | |
download | src-7af0a5dbaf0ac5150798accd11471ea4da962b23.tar.gz src-7af0a5dbaf0ac5150798accd11471ea4da962b23.zip |
More custom hackery to deal with issues discovered in sysinstall.
Notes
Notes:
svn path=/head/; revision=15382
Diffstat (limited to 'gnu/lib/libdialog')
-rw-r--r-- | gnu/lib/libdialog/checklist.c | 11 | ||||
-rw-r--r-- | gnu/lib/libdialog/menubox.c | 9 | ||||
-rw-r--r-- | gnu/lib/libdialog/radiolist.c | 11 |
3 files changed, 14 insertions, 17 deletions
diff --git a/gnu/lib/libdialog/checklist.c b/gnu/lib/libdialog/checklist.c index 7714d3888c6b..bd88057f3337 100644 --- a/gnu/lib/libdialog/checklist.c +++ b/gnu/lib/libdialog/checklist.c @@ -333,18 +333,17 @@ draw: cur_x, cur_y); wrefresh(dialog); } - else if (st & DITEM_RECREATE) { - delwin(save); - delwin(list); - delwin(dialog); - goto draw; - } delwin(save); if (st & DITEM_LEAVE_MENU) { /* Allow a fire action to take us out of the menu */ key = ESC; break; } + else if (st & DITEM_RECREATE) { + delwin(list); + delwin(dialog); + goto draw; + } } status[scroll + choice] = ditems[scroll + choice].checked ? ditems[scroll + choice].checked(&ditems[scroll + choice]) : FALSE; diff --git a/gnu/lib/libdialog/menubox.c b/gnu/lib/libdialog/menubox.c index fde4fc6e73b8..2044db1e10a2 100644 --- a/gnu/lib/libdialog/menubox.c +++ b/gnu/lib/libdialog/menubox.c @@ -389,15 +389,14 @@ draw: touchwin(save); wrefresh(save); } - if (status & DITEM_RECREATE) { + delwin(save); + if (status & DITEM_CONTINUE) + continue; + else if (status & DITEM_RECREATE || !(status & DITEM_LEAVE_MENU)) { delwin(menu); delwin(dialog); - delwin(save); goto draw; } - delwin(save); - if (status & DITEM_CONTINUE) - continue; } else if (result) strcpy(result, items[(scroll+choice)*2]); diff --git a/gnu/lib/libdialog/radiolist.c b/gnu/lib/libdialog/radiolist.c index 0361fe2229df..c40e8519ebb4 100644 --- a/gnu/lib/libdialog/radiolist.c +++ b/gnu/lib/libdialog/radiolist.c @@ -338,18 +338,17 @@ draw: wmove(dialog, cur_y, cur_x); /* Restore cursor to previous position */ wrefresh(dialog); } - else if (st & DITEM_RECREATE) { - delwin(save); - delwin(list); - delwin(dialog); - goto draw; - } delwin(save); if (st & DITEM_LEAVE_MENU) { /* Allow a fire action to take us out of the menu */ key = ESC; break; } + else if (st & DITEM_RECREATE) { + delwin(list); + delwin(dialog); + goto draw; + } } for (i = 0; i < item_no; i++) status[i] = ditems[i].checked ? ditems[i].checked(&ditems[i]) : FALSE; |