summaryrefslogtreecommitdiff
path: root/src/w32inevt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/w32inevt.c')
-rw-r--r--src/w32inevt.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/w32inevt.c b/src/w32inevt.c
index 5f6856413e8..a85fdbbe435 100644
--- a/src/w32inevt.c
+++ b/src/w32inevt.c
@@ -621,8 +621,6 @@ do_mouse_event (MOUSE_EVENT_RECORD *event,
clear_mouse_face (hlinfo);
}
- note_mouse_highlight (f, mx, my);
-
/* Generate SELECT_WINDOW_EVENTs when needed. */
if (!NILP (Vmouse_autoselect_window))
{
@@ -649,6 +647,16 @@ do_mouse_event (MOUSE_EVENT_RECORD *event,
}
else
last_mouse_window = Qnil;
+
+ previous_help_echo_string = help_echo_string;
+ help_echo_string = help_echo_object = help_echo_window = Qnil;
+ help_echo_pos = -1;
+ note_mouse_highlight (f, mx, my);
+ /* If the contents of the global variable help_echo has
+ changed (inside note_mouse_highlight), generate a HELP_EVENT. */
+ if (!NILP (help_echo_string) || !NILP (previous_help_echo_string))
+ gen_help_event (help_echo_string, selected_frame, help_echo_window,
+ help_echo_object, help_echo_pos);
}
return 0;
}