From 96e78d1fb3fd5543c513d5a949c5d52654b6006a Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 17 Nov 2013 23:02:09 +0200 Subject: [PATCH] Fix bug #15913 with disappearing mouse highlight on MS-Windows. src/w32term.c (x_update_window_end): Don't invalidate the entire mouse-highlight info, just signal frame_up_to_date_hook that mouse highlight needs to be redisplayed. --- src/ChangeLog | 6 ++++++ src/w32term.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index de4c1dc6531..2b88d076b8c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2013-11-17 Eli Zaretskii + + * w32term.c (x_update_window_end): Don't invalidate the entire + mouse-highlight info, just signal frame_up_to_date_hook that mouse + highlight needs to be redisplayed. (Bug#15913) + 2013-11-17 Paul Eggert * lisp.h (DEBUGGER_SEES_C_MACROS): Remove. diff --git a/src/w32term.c b/src/w32term.c index 275df927313..90cc204239e 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -656,7 +656,13 @@ x_update_window_end (struct window *w, bool cursor_on_p, /* If a row with mouse-face was overwritten, arrange for XTframe_up_to_date to redisplay the mouse highlight. */ if (mouse_face_overwritten_p) - reset_mouse_highlight (MOUSE_HL_INFO (XFRAME (w->frame))); + { + Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (XFRAME (w->frame)); + + hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1; + hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1; + hlinfo->mouse_face_window = Qnil; + } /* Unhide the caret. This won't actually show the cursor, unless it was visible before the corresponding call to HideCaret in -- 2.39.2