diff options
author | jkh <jkh@FreeBSD.org> | 1996-04-23 01:25:04 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1996-04-23 01:25:04 +0000 |
commit | 70a317a618a87b0eac973736356fadfa45b35959 (patch) | |
tree | bb4367d830c851dc35e3ced73a9da4baea2de3a7 /gnu | |
parent | b0ccfc5ff3a41ad2f8db90ea21ea05c525197b31 (diff) | |
download | FreeBSD-src-70a317a618a87b0eac973736356fadfa45b35959.zip FreeBSD-src-70a317a618a87b0eac973736356fadfa45b35959.tar.gz |
Cosmetic tweaks.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/lib/libdialog/checklist.c | 16 | ||||
-rw-r--r-- | gnu/lib/libdialog/radiolist.c | 1 |
2 files changed, 13 insertions, 4 deletions
diff --git a/gnu/lib/libdialog/checklist.c b/gnu/lib/libdialog/checklist.c index 1090293..5d7c03b 100644 --- a/gnu/lib/libdialog/checklist.c +++ b/gnu/lib/libdialog/checklist.c @@ -238,6 +238,7 @@ draw: if (st & DITEM_RESTORE) { touchwin(save); wrefresh(save); + wmove(dialog, cur_y, cur_x); } delwin(save); } @@ -316,6 +317,7 @@ draw: save = dupwin(newscr); st = ditems[scroll + choice].fire(&ditems[scroll + choice]); if (st & DITEM_REDRAW) { + wmove(dialog, cur_y, cur_x); /* Restore cursor to previous position */ 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++) { @@ -457,11 +459,17 @@ draw: case '\r': if (!button && result) { if (ditems && ditems[button ? CANCEL_BUTTON : OK_BUTTON].fire) { - if (ditems[button ? CANCEL_BUTTON : OK_BUTTON].fire(&ditems[button ? CANCEL_BUTTON : OK_BUTTON]) == - DITEM_FAILURE) { - wrefresh(dialog); - continue; + int st; + WINDOW *save = dupwin(newscr); + + st = ditems[button ? CANCEL_BUTTON : OK_BUTTON].fire(&ditems[button ? CANCEL_BUTTON : OK_BUTTON]); + if (st & DITEM_RESTORE) { + touchwin(save); + wrefresh(save); } + delwin(save); + if (st == DITEM_FAILURE) + continue; } else { *result = '\0'; diff --git a/gnu/lib/libdialog/radiolist.c b/gnu/lib/libdialog/radiolist.c index 970953b..cb1d1a7 100644 --- a/gnu/lib/libdialog/radiolist.c +++ b/gnu/lib/libdialog/radiolist.c @@ -337,6 +337,7 @@ draw: else if (st & DITEM_RESTORE) { touchwin(save); wrefresh(save); + wmove(dialog, cur_y, cur_x); } else if (st & DITEM_RECREATE) { delwin(save); |