diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2011-07-14 14:01:36 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2011-07-14 14:01:36 +0000 |
commit | 7c690c1aa838ce557a7140db128970d6149b34d6 (patch) | |
tree | 5205a5ffae5e2d9b6ee74c0df561f0dd164f7814 /contrib/dialog/buttons.c | |
parent | e54e39a5004441432886ee2a43973c797fafdfd8 (diff) | |
parent | 94f19e002939203294adf4d18b410183682bd2de (diff) | |
download | FreeBSD-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.c | 23 |
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 ** |