aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/window.c15
2 files changed, 19 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 68f311d8643..33c93a30b08 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
12012-03-31 Eli Zaretskii <eliz@gnu.org> 12012-03-31 Eli Zaretskii <eliz@gnu.org>
2 2
3 * window.c (Fdelete_other_windows_internal): Invalidate the row
4 and column information about mouse highlight, so that redisplay
5 restores it after reallocating the glyph matrices. (Bug#7464)
6
3 * xdisp.c (set_cursor_from_row): If `cursor' property on a display 7 * xdisp.c (set_cursor_from_row): If `cursor' property on a display
4 string comes from a `display' text property, use the buffer 8 string comes from a `display' text property, use the buffer
5 position of that property as if we actually saw that position in 9 position of that property as if we actually saw that position in
diff --git a/src/window.c b/src/window.c
index bcbf0ad2bde..af7968f9edf 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2565,6 +2565,7 @@ window-start value is reasonable when this function is called. */)
2565 Lisp_Object sibling, pwindow, swindow IF_LINT (= Qnil), delta; 2565 Lisp_Object sibling, pwindow, swindow IF_LINT (= Qnil), delta;
2566 EMACS_INT startpos IF_LINT (= 0); 2566 EMACS_INT startpos IF_LINT (= 0);
2567 int top IF_LINT (= 0), new_top, resize_failed; 2567 int top IF_LINT (= 0), new_top, resize_failed;
2568 Mouse_HLInfo *hlinfo;
2568 2569
2569 w = decode_any_window (window); 2570 w = decode_any_window (window);
2570 XSETWINDOW (window, w); 2571 XSETWINDOW (window, w);
@@ -2645,6 +2646,20 @@ window-start value is reasonable when this function is called. */)
2645 } 2646 }
2646 2647
2647 BLOCK_INPUT; 2648 BLOCK_INPUT;
2649 hlinfo = MOUSE_HL_INFO (f);
2650 /* We are going to free the glyph matrices of WINDOW, and with that
2651 we might lose any information about glyph rows that have some of
2652 their glyphs highlighted in mouse face. (These rows are marked
2653 with a non-zero mouse_face_p flag.) If WINDOW indeed has some
2654 glyphs highlighted in mouse face, signal to frame's up-to-date
2655 hook that mouse highlight was overwritten, so that it will
2656 arrange for redisplaying the highlight. */
2657 if (EQ (hlinfo->mouse_face_window, window))
2658 {
2659 hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
2660 hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
2661 hlinfo->mouse_face_window = Qnil;
2662 }
2648 free_window_matrices (r); 2663 free_window_matrices (r);
2649 2664
2650 windows_or_buffers_changed++; 2665 windows_or_buffers_changed++;