Merged from miles@gnu.org--gnu-2005 (patch 610-614)
[bpt/emacs.git] / src / fns.c
index 4cf21b5..d0d4da4 100644 (file)
--- 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 (FRAME_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 ())
     {