* nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons

are specified.

Fixes: debbugs:9168
This commit is contained in:
Jan Djärv 2011-07-25 23:49:42 +02:00
parent 2eb1f9e6a5
commit d6f0886cf1
2 changed files with 14 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2011-07-25 Jan Djärv <jan.h.d@swipnet.se>
* nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons
are specified (Bug#9168).
2011-07-25 Paul Eggert <eggert@cs.ucla.edu>
* bidi.c (bidi_dump_cached_states): Fix printf format mismatch.

View file

@ -1340,7 +1340,7 @@ - (NSRect) frame
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 @@ - (NSRect) frame
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];