From 6206f8ce21442d8003ecb68b930d908bc690a7f4 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Wed, 12 Sep 2001 11:43:47 +0000 Subject: [PATCH] (set_window_cursor_after_update): Fix code finding glyph row containing cursor when cursor_in_echo_area is >= 0. --- src/dispnew.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index 78d3748c259..abc41ad2a27 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -4540,22 +4540,21 @@ set_window_cursor_after_update (w) int yb = window_text_bottom_y (w); last_row = NULL; - for (row = MATRIX_ROW (w->current_matrix, 0); - row->enabled_p; - ++row) + row = w->current_matrix->rows; + while (row->enabled_p + && (last_row == NULL + || MATRIX_ROW_BOTTOM_Y (row) <= yb)) { if (row->used[TEXT_AREA] && row->glyphs[TEXT_AREA][0].charpos >= 0) last_row = row; - - if (MATRIX_ROW_BOTTOM_Y (row) >= yb) - break; + ++row; } if (last_row) { - struct glyph *start = row->glyphs[TEXT_AREA]; - struct glyph *last = start + row->used[TEXT_AREA] - 1; + struct glyph *start = last_row->glyphs[TEXT_AREA]; + struct glyph *last = start + last_row->used[TEXT_AREA] - 1; while (last > start && last->charpos < 0) --last; -- 2.39.5