diff options
Diffstat (limited to 'src/fns.c')
-rw-r--r-- | src/fns.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/fns.c b/src/fns.c index 404a587b1cf..0608fee2df6 100644 --- a/src/fns.c +++ b/src/fns.c @@ -48,6 +48,7 @@ Boston, MA 02110-1301, USA. */ #include "frame.h" #include "window.h" #include "blockinput.h" +#include "termhooks.h" /* For display->kboard reference in terminal-local-value. */ #if defined (HAVE_MENUS) && defined (HAVE_X_WINDOWS) #include "xterm.h" #endif @@ -3267,7 +3268,8 @@ is nil and `use-dialog-box' is non-nil. */) { #ifdef HAVE_MENUS - if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event)) + if (FRAME_WINDOW_P (SELECTED_FRAME ()) + && (NILP (last_nonmenu_event) || CONSP (last_nonmenu_event)) && use_dialog_box && have_menus_p ()) { @@ -3306,7 +3308,9 @@ is nil and `use-dialog-box' is non-nil. */) Fraise_frame (mini_frame); } + temporarily_switch_to_single_kboard (SELECTED_FRAME ()); obj = read_filtered_event (1, 0, 0, 0); + cursor_in_echo_area = 0; /* If we need to quit, quit with cursor_in_echo_area = 0. */ QUIT; @@ -3398,7 +3402,8 @@ is nil, and `use-dialog-box' is non-nil. */) CHECK_STRING (prompt); #ifdef HAVE_MENUS - if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event)) + if (FRAME_WINDOW_P (SELECTED_FRAME ()) + && (NILP (last_nonmenu_event) || CONSP (last_nonmenu_event)) && use_dialog_box && have_menus_p ()) { |