diff options
| author | Eli Zaretskii | 2002-04-02 15:52:35 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2002-04-02 15:52:35 +0000 |
| commit | 1a0721fef5f3cb19848f5f692a5a04cc170beaec (patch) | |
| tree | 0c2fb3d95535d388b73e7478aed15237898bd5e0 /src | |
| parent | 80fc318ee869f92e811cd05b6cec2d6c3fd9359c (diff) | |
| download | emacs-1a0721fef5f3cb19848f5f692a5a04cc170beaec.tar.gz emacs-1a0721fef5f3cb19848f5f692a5a04cc170beaec.zip | |
(dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
Diffstat (limited to 'src')
| -rw-r--r-- | src/msdos.c | 28 |
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; |