summaryrefslogtreecommitdiff
path: root/gnu/lib/libdialog/radiolist.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/lib/libdialog/radiolist.c')
-rw-r--r--gnu/lib/libdialog/radiolist.c42
1 files changed, 23 insertions, 19 deletions
diff --git a/gnu/lib/libdialog/radiolist.c b/gnu/lib/libdialog/radiolist.c
index f1c21973d770..1f546fb1305e 100644
--- a/gnu/lib/libdialog/radiolist.c
+++ b/gnu/lib/libdialog/radiolist.c
@@ -210,17 +210,19 @@ draw:
/* See if its the short-cut to "OK" */
if (toupper(key) == okButton) {
- if (ditems && result && ditems[OK_BUTTON].fire) {
- int st;
- WINDOW *save;
+ if (ditems) {
+ if (result && ditems[OK_BUTTON].fire) {
+ int st;
+ WINDOW *save;
- save = dupwin(newscr);
- st = ditems[OK_BUTTON].fire(&ditems[OK_BUTTON]);
- if (st & DITEM_RESTORE) {
- touchwin(save);
- wrefresh(save);
+ save = dupwin(newscr);
+ st = ditems[OK_BUTTON].fire(&ditems[OK_BUTTON]);
+ if (st & DITEM_RESTORE) {
+ touchwin(save);
+ wrefresh(save);
+ }
+ delwin(save);
}
- delwin(save);
}
else if (result) {
*result = '\0';
@@ -453,19 +455,21 @@ draw:
case '\r':
case '\n':
- if (ditems && result && ditems[button ? CANCEL_BUTTON : OK_BUTTON].fire) {
- int st;
- WINDOW *save;
+ if (ditems) {
+ if (result && ditems[button ? CANCEL_BUTTON : OK_BUTTON].fire) {
+ int st;
+ WINDOW *save;
- 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);
+ 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);
}
- delwin(save);
}
- else if (!ditems && result) {
+ else if (result) {
*result = '\0';
for (i = 0; i < item_no; i++) {
if (status[i]) {