aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2002-04-02 15:52:35 +0000
committerEli Zaretskii2002-04-02 15:52:35 +0000
commit1a0721fef5f3cb19848f5f692a5a04cc170beaec (patch)
tree0c2fb3d95535d388b73e7478aed15237898bd5e0 /src
parent80fc318ee869f92e811cd05b6cec2d6c3fd9359c (diff)
downloademacs-1a0721fef5f3cb19848f5f692a5a04cc170beaec.tar.gz
emacs-1a0721fef5f3cb19848f5f692a5a04cc170beaec.zip
(dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
Diffstat (limited to 'src')
-rw-r--r--src/msdos.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/msdos.c b/src/msdos.c
index 98f7079e420..ed0950a6435 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -3395,6 +3395,7 @@ dos_rawgetc ()
3395 { 3395 {
3396 int but, press, x, y, ok; 3396 int but, press, x, y, ok;
3397 int mouse_prev_x = mouse_last_x, mouse_prev_y = mouse_last_y; 3397 int mouse_prev_x = mouse_last_x, mouse_prev_y = mouse_last_y;
3398 Lisp_Object mouse_window = Qnil;
3398 3399
3399 /* Check for mouse movement *before* buttons. */ 3400 /* Check for mouse movement *before* buttons. */
3400 mouse_check_moved (); 3401 mouse_check_moved ();
@@ -3409,34 +3410,33 @@ dos_rawgetc ()
3409 clear_mouse_face (dpyinfo); 3410 clear_mouse_face (dpyinfo);
3410 } 3411 }
3411 3412
3412#if 0 3413 /* Generate SELECT_WINDOW_EVENTs when needed. */
3413 /* Lisp must not be called asynchronously, so this must not 3414 if (autoselect_window_p)
3414 be done. */
3415 if (x_autoselect_window_p)
3416 { 3415 {
3417 int mouse_area; 3416 int mouse_area;
3418 Lisp_Object mouse_window;
3419 3417
3420 mouse_window = window_from_coordinates (SELECTED_FRAME(), 3418 mouse_window = window_from_coordinates (SELECTED_FRAME(),
3421 mouse_last_x, 3419 mouse_last_x,
3422 mouse_last_y, 3420 mouse_last_y,
3423 &mouse_area, 0); 3421 &mouse_area, 0);
3424 /* A window will be selected only when it is not 3422 /* A window will be selected only when it is not
3425 selected now. A minibuffer window will be selected 3423 selected now, and the last mouse movement event was
3426 iff it is active. */ 3424 not in it. A minibuffer window will be selected iff
3427 if (!EQ (mouse_window, last_mouse_window) 3425 it is active. */
3428 && !EQ (mouse_window, selected_window) 3426 if (WINDOWP (mouse_window)
3429 && (!MINI_WINDOW_P (XWINDOW (mouse_window)) 3427 && !EQ (mouse_window, last_mouse_window)
3430 || (EQ (mouse_window, minibuf_window) 3428 && !EQ (mouse_window, selected_window))
3431 && minibuf_level > 0)))
3432 { 3429 {
3433 Fselect_window (mouse_window); 3430 event.kind = SELECT_WINDOW_EVENT;
3431 event.frame_or_window = mouse_window;
3432 event.arg = Qnil;
3433 event.timestamp = event_timestamp ();
3434 kbd_buffer_store_event (&event);
3434 } 3435 }
3435 last_mouse_window = mouse_window; 3436 last_mouse_window = mouse_window;
3436 } 3437 }
3437 else 3438 else
3438 last_mouse_window = Qnil; 3439 last_mouse_window = Qnil;
3439#endif
3440 3440
3441 previous_help_echo = help_echo; 3441 previous_help_echo = help_echo;
3442 help_echo = help_echo_object = help_echo_window = Qnil; 3442 help_echo = help_echo_object = help_echo_window = Qnil;