summaryrefslogtreecommitdiff
path: root/src/nsmenu.m
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2011-07-25 23:49:42 +0200
committerJan Djärv <jan.h.d@swipnet.se>2011-07-25 23:49:42 +0200
commitd6f0886cf1d99d80c45a8a57a7bcce42dc623c3c (patch)
treeafccfbba7202266647dcb8c8917b0b3425e89fe5 /src/nsmenu.m
parent2eb1f9e6a50ae13ada9a019e42fb6969f935454f (diff)
downloademacs-d6f0886cf1d99d80c45a8a57a7bcce42dc623c3c.tar.gz
* nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons
are specified. Fixes: debbugs:9168
Diffstat (limited to 'src/nsmenu.m')
-rw-r--r--src/nsmenu.m10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 6a9ee7dd4f5..6931b7a3c01 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1340,7 +1340,7 @@ Lisp_Object
ns_popup_dialog (Lisp_Object position, Lisp_Object contents, Lisp_Object header)
{
id dialog;
- Lisp_Object window, tem;
+ Lisp_Object window, tem, title;
struct frame *f;
NSPoint p;
BOOL isQ;
@@ -1389,6 +1389,14 @@ ns_popup_dialog (Lisp_Object position, Lisp_Object contents, Lisp_Object header)
p.x = (int)f->left_pos + ((int)FRAME_COLUMN_WIDTH (f) * f->text_cols)/2;
p.y = (int)f->top_pos + (FRAME_LINE_HEIGHT (f) * f->text_lines)/2;
+ title = Fcar (contents);
+ CHECK_STRING (title);
+
+ if (NILP (Fcar (Fcdr (contents))))
+ /* No buttons specified, add an "Ok" button so users can pop down
+ the dialog. */
+ contents = Fcons (title, Fcons (Fcons (build_string ("Ok"), Qt), Qnil));
+
BLOCK_INPUT;
dialog = [[EmacsDialogPanel alloc] initFromContents: contents
isQuestion: isQ];