[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r107713: Fix bug #7464 with mouse hig
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r107713: Fix bug #7464 with mouse highlight after "C-x 1". |
Date: |
Sat, 31 Mar 2012 21:10:34 +0300 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 107713
fixes bug(s): http://debbugs.gnu.org/7464
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2012-03-31 21:10:34 +0300
message:
Fix bug #7464 with mouse highlight after "C-x 1".
src/window.c (Fdelete_other_windows_internal): Invalidate the row
and column information about mouse highlight, so that redisplay
restores it after reallocating the glyph matrices.
modified:
src/ChangeLog
src/window.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-03-31 17:08:38 +0000
+++ b/src/ChangeLog 2012-03-31 18:10:34 +0000
@@ -1,5 +1,9 @@
2012-03-31 Eli Zaretskii <address@hidden>
+ * window.c (Fdelete_other_windows_internal): Invalidate the row
+ and column information about mouse highlight, so that redisplay
+ restores it after reallocating the glyph matrices. (Bug#7464)
+
* xdisp.c (set_cursor_from_row): If `cursor' property on a display
string comes from a `display' text property, use the buffer
position of that property as if we actually saw that position in
=== modified file 'src/window.c'
--- a/src/window.c 2012-03-12 06:34:32 +0000
+++ b/src/window.c 2012-03-31 18:10:34 +0000
@@ -2565,6 +2565,7 @@
Lisp_Object sibling, pwindow, swindow IF_LINT (= Qnil), delta;
EMACS_INT startpos IF_LINT (= 0);
int top IF_LINT (= 0), new_top, resize_failed;
+ Mouse_HLInfo *hlinfo;
w = decode_any_window (window);
XSETWINDOW (window, w);
@@ -2645,6 +2646,20 @@
}
BLOCK_INPUT;
+ hlinfo = MOUSE_HL_INFO (f);
+ /* We are going to free the glyph matrices of WINDOW, and with that
+ we might lose any information about glyph rows that have some of
+ their glyphs highlighted in mouse face. (These rows are marked
+ with a non-zero mouse_face_p flag.) If WINDOW indeed has some
+ glyphs highlighted in mouse face, signal to frame's up-to-date
+ hook that mouse highlight was overwritten, so that it will
+ arrange for redisplaying the highlight. */
+ if (EQ (hlinfo->mouse_face_window, window))
+ {
+ 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;
+ }
free_window_matrices (r);
windows_or_buffers_changed++;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r107713: Fix bug #7464 with mouse highlight after "C-x 1".,
Eli Zaretskii <=