From 9005a471f23f327dd3c6ee2cffc95f0903fec4d4 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 16 Feb 2002 19:25:24 +0000 Subject: [PATCH] (last_mouse_window): New variable. (dos_rawgetc): Fix last change--if the mouse is in the same window as recorded in last_mouse_window, don't select this window. --- src/ChangeLog | 4 ++++ src/msdos.c | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 4daee99e47d..5fbd59f8230 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,9 @@ 2002-02-16 Eli Zaretskii + * msdos.c (last_mouse_window): New variable. + (dos_rawgetc): Fix last change--if the mouse is in the same window + as recorded in last_mouse_window, don't select this window. + * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el. diff --git a/src/msdos.c b/src/msdos.c index f5dff6fb5bc..19304db32e8 100644 --- a/src/msdos.c +++ b/src/msdos.c @@ -1200,6 +1200,9 @@ static int help_echo_pos; cursor moves into it. */ int x_autoselect_window_p; +/* Last window where we saw the mouse. Used by x-autoselect-window. */ +static Lisp_Object last_mouse_window; + static int mouse_preempted = 0; /* non-zero when XMenu gobbles mouse events */ /* Set the mouse pointer shape according to whether it is in the @@ -3402,17 +3405,20 @@ dos_rawgetc () mouse_last_y, &mouse_area, 0); /* A window will be selected only when it is not - selected now and last mouse movement event was not in - it. A minubuffer window will be selected iff it is - active. */ - if (!EQ (mouse_window, selected_window) + selected now. A minubuffer window will be selected + iff it is active. */ + if (!EQ (mouse_window, last_mouse_window) + && !EQ (mouse_window, selected_window) && (!MINI_WINDOW_P (XWINDOW (mouse_window)) || (EQ (mouse_window, minibuf_window) && minibuf_level > 0))) { Fselect_window (mouse_window); } + last_mouse_window = mouse_window; } + else + last_mouse_window = Qnil; previous_help_echo = help_echo; help_echo = help_echo_object = help_echo_window = Qnil; help_echo_pos = -1; -- 2.39.2