diff options
| author | Kim F. Storm | 2004-02-18 21:01:50 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2004-02-18 21:01:50 +0000 |
| commit | 1d71218362bb1c75ed0c630d80b9710637538bcc (patch) | |
| tree | 27b6d3eeaeca6fd3a4845ea0595ca69ec619caac /src | |
| parent | cc808173fcf4e86a1c419eb7979c07606fc600e1 (diff) | |
| download | emacs-1d71218362bb1c75ed0c630d80b9710637538bcc.tar.gz emacs-1d71218362bb1c75ed0c630d80b9710637538bcc.zip | |
(get_window_cursor_type, display_and_set_cursor): Fix last change.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 0967041f3b6..f068290078f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -19029,9 +19029,9 @@ get_window_cursor_type (w, glyph, width, active_cursor) | |||
| 19029 | cursor_type = get_specified_cursor_type (b->cursor_type, width); | 19029 | cursor_type = get_specified_cursor_type (b->cursor_type, width); |
| 19030 | 19030 | ||
| 19031 | /* Use normal cursor if not blinked off. */ | 19031 | /* Use normal cursor if not blinked off. */ |
| 19032 | if (!w->cursor_off_p && glyph != NULL) | 19032 | if (!w->cursor_off_p) |
| 19033 | { | 19033 | { |
| 19034 | if (glyph->type == IMAGE_GLYPH) { | 19034 | if (glyph != NULL && glyph->type == IMAGE_GLYPH) { |
| 19035 | if (cursor_type == FILLED_BOX_CURSOR) | 19035 | if (cursor_type == FILLED_BOX_CURSOR) |
| 19036 | cursor_type = HOLLOW_BOX_CURSOR; | 19036 | cursor_type = HOLLOW_BOX_CURSOR; |
| 19037 | } | 19037 | } |
| @@ -19348,7 +19348,6 @@ display_and_set_cursor (w, on, hpos, vpos, x, y) | |||
| 19348 | int new_cursor_type; | 19348 | int new_cursor_type; |
| 19349 | int new_cursor_width; | 19349 | int new_cursor_width; |
| 19350 | int active_cursor; | 19350 | int active_cursor; |
| 19351 | struct glyph_matrix *current_glyphs; | ||
| 19352 | struct glyph_row *glyph_row; | 19351 | struct glyph_row *glyph_row; |
| 19353 | struct glyph *glyph; | 19352 | struct glyph *glyph; |
| 19354 | 19353 | ||
| @@ -19366,11 +19365,7 @@ display_and_set_cursor (w, on, hpos, vpos, x, y) | |||
| 19366 | if (!on && !w->phys_cursor_on_p) | 19365 | if (!on && !w->phys_cursor_on_p) |
| 19367 | return; | 19366 | return; |
| 19368 | 19367 | ||
| 19369 | current_glyphs = w->current_matrix; | 19368 | glyph_row = MATRIX_ROW (w->current_matrix, vpos); |
| 19370 | glyph_row = MATRIX_ROW (current_glyphs, vpos); | ||
| 19371 | glyph = (glyph_row->cursor_in_fringe_p ? NULL | ||
| 19372 | : glyph_row->glyphs[TEXT_AREA] + hpos); | ||
| 19373 | |||
| 19374 | /* If cursor row is not enabled, we don't really know where to | 19369 | /* If cursor row is not enabled, we don't really know where to |
| 19375 | display the cursor. */ | 19370 | display the cursor. */ |
| 19376 | if (!glyph_row->enabled_p) | 19371 | if (!glyph_row->enabled_p) |
| @@ -19379,6 +19374,11 @@ display_and_set_cursor (w, on, hpos, vpos, x, y) | |||
| 19379 | return; | 19374 | return; |
| 19380 | } | 19375 | } |
| 19381 | 19376 | ||
| 19377 | glyph = NULL; | ||
| 19378 | if (!glyph_row->exact_window_width_line_p | ||
| 19379 | || hpos < glyph_row->used[TEXT_AREA]) | ||
| 19380 | glyph = glyph_row->glyphs[TEXT_AREA] + hpos; | ||
| 19381 | |||
| 19382 | xassert (interrupt_input_blocked); | 19382 | xassert (interrupt_input_blocked); |
| 19383 | 19383 | ||
| 19384 | /* Set new_cursor_type to the cursor we want to be displayed. */ | 19384 | /* Set new_cursor_type to the cursor we want to be displayed. */ |