diff options
author | Kim F. Storm <storm@cua.dk> | 2002-05-22 21:18:25 +0000 |
---|---|---|
committer | Kim F. Storm <storm@cua.dk> | 2002-05-22 21:18:25 +0000 |
commit | 6065f9e2764766f90f95b9fc9d5fd2cf2eea0be9 (patch) | |
tree | af5ca2cc7c4b02e4bb3a56d7f90692d02921eb47 | |
parent | 39bb59006c1072f634ac9fda7e7fc3b41cda696d (diff) | |
download | emacs-6065f9e2764766f90f95b9fc9d5fd2cf2eea0be9.tar.gz |
(x_write_glyphs): Clear phys_cursor_on_p if current
phys_cursor's hpos is overwritten. This is still not completely
correct, as it doesn't really make sense to use hpos at all to
get the cursor glyph (as that is relative to the width of the
characters on the line, which may have changed during the update).
-rw-r--r-- | src/ChangeLog | 2 | ||||
-rw-r--r-- | src/xterm.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 69d273a6338..9fed32b0246 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,4 +1,4 @@ -2002-05-23 Kim F. Storm <no-spam@cua.dk> +2002-05-23 Kim F. Storm <storm@cua.dk> * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current phys_cursor's hpos is overwritten. This is still not completely diff --git a/src/xterm.c b/src/xterm.c index c87d8981daf..c98d278c771 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -5331,6 +5331,14 @@ x_write_glyphs (start, len) hpos, hpos + len, DRAW_NORMAL_TEXT, 0); + /* Invalidate old phys cursor if the glyph at its hpos is redrawn. */ + if (updated_area == TEXT_AREA + && updated_window->phys_cursor_on_p + && updated_window->phys_cursor.vpos == output_cursor.vpos + && updated_window->phys_cursor.hpos >= hpos + && updated_window->phys_cursor.hpos < hpos + len) + updated_window->phys_cursor_on_p = 0; + UNBLOCK_INPUT; /* Advance the output cursor. */ |