aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm <[email protected]>2002-05-22 21:18:25 +0000
committerKim F. Storm <[email protected]>2002-05-22 21:18:25 +0000
commit6065f9e2764766f90f95b9fc9d5fd2cf2eea0be9 (patch)
treeaf5ca2cc7c4b02e4bb3a56d7f90692d02921eb47 /src
parent39bb59006c1072f634ac9fda7e7fc3b41cda696d (diff)
(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).
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog2
-rw-r--r--src/xterm.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 69d273a633..9fed32b024 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
-2002-05-23 Kim F. Storm <[email protected]>
+2002-05-23 Kim F. Storm <[email protected]>
* 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 c87d8981da..c98d278c77 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. */