summaryrefslogtreecommitdiffstats
path: root/contrib/dialog/buttons.c
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2011-07-14 14:01:36 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2011-07-14 14:01:36 +0000
commit7c690c1aa838ce557a7140db128970d6149b34d6 (patch)
tree5205a5ffae5e2d9b6ee74c0df561f0dd164f7814 /contrib/dialog/buttons.c
parente54e39a5004441432886ee2a43973c797fafdfd8 (diff)
parent94f19e002939203294adf4d18b410183682bd2de (diff)
downloadFreeBSD-src-7c690c1aa838ce557a7140db128970d6149b34d6.zip
FreeBSD-src-7c690c1aa838ce557a7140db128970d6149b34d6.tar.gz
Update dialog to 1.1-20110707.
Diffstat (limited to 'contrib/dialog/buttons.c')
-rw-r--r--contrib/dialog/buttons.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/contrib/dialog/buttons.c b/contrib/dialog/buttons.c
index d82c455..0241060 100644
--- a/contrib/dialog/buttons.c
+++ b/contrib/dialog/buttons.c
@@ -1,5 +1,5 @@
/*
- * $Id: buttons.c,v 1.84 2011/01/19 00:27:53 tom Exp $
+ * $Id: buttons.c,v 1.86 2011/06/28 10:46:46 tom Exp $
*
* buttons.c -- draw buttons, e.g., OK/Cancel
*
@@ -442,16 +442,23 @@ const char **
dlg_exit_label(void)
{
const char **result;
+ DIALOG_VARS save;
if (dialog_vars.extra_button) {
+ dlg_save_vars(&save);
+ dialog_vars.nocancel = TRUE;
result = dlg_ok_labels();
+ dlg_restore_vars(&save);
} else {
static const char *labels[3];
int n = 0;
- labels[n++] = my_exit_label();
+ if (!dialog_vars.nook)
+ labels[n++] = my_exit_label();
if (dialog_vars.help_button)
labels[n++] = my_help_label();
+ if (n == 0)
+ labels[n++] = my_exit_label();
labels[n] = 0;
result = labels;
@@ -465,7 +472,17 @@ dlg_exit_label(void)
int
dlg_exit_buttoncode(int button)
{
- return dlg_ok_buttoncode(button);
+ int result;
+ DIALOG_VARS save;
+
+ dlg_save_vars(&save);
+ dialog_vars.nocancel = TRUE;
+
+ result = dlg_ok_buttoncode(button);
+
+ dlg_restore_vars(&save);
+
+ return result;
}
const char **
OpenPOWER on IntegriCloud