aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c
index 2a9d308b836..484cc825fb8 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2567,6 +2567,7 @@ window-start value is reasonable when this function is called. */)
2567 Lisp_Object sibling, pwindow, swindow IF_LINT (= Qnil), delta; 2567 Lisp_Object sibling, pwindow, swindow IF_LINT (= Qnil), delta;
2568 EMACS_INT startpos IF_LINT (= 0); 2568 EMACS_INT startpos IF_LINT (= 0);
2569 int top IF_LINT (= 0), new_top, resize_failed; 2569 int top IF_LINT (= 0), new_top, resize_failed;
2570 Mouse_HLInfo *hlinfo;
2570 2571
2571 w = decode_any_window (window); 2572 w = decode_any_window (window);
2572 XSETWINDOW (window, w); 2573 XSETWINDOW (window, w);
@@ -2647,6 +2648,20 @@ window-start value is reasonable when this function is called. */)
2647 } 2648 }
2648 2649
2649 BLOCK_INPUT; 2650 BLOCK_INPUT;
2651 hlinfo = MOUSE_HL_INFO (f);
2652 /* We are going to free the glyph matrices of WINDOW, and with that
2653 we might lose any information about glyph rows that have some of
2654 their glyphs highlighted in mouse face. (These rows are marked
2655 with a non-zero mouse_face_p flag.) If WINDOW indeed has some
2656 glyphs highlighted in mouse face, signal to frame's up-to-date
2657 hook that mouse highlight was overwritten, so that it will
2658 arrange for redisplaying the highlight. */
2659 if (EQ (hlinfo->mouse_face_window, window))
2660 {
2661 hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
2662 hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
2663 hlinfo->mouse_face_window = Qnil;
2664 }
2650 free_window_matrices (r); 2665 free_window_matrices (r);
2651 2666
2652 windows_or_buffers_changed++; 2667 windows_or_buffers_changed++;