Commit 92f424df authored by Gerd Moellmann's avatar Gerd Moellmann
Browse files

(x_draw_bar_cursor): If cursor is on an image, draw a

box cursor because that's better visible for large images.
parent 867102f2
......@@ -10313,11 +10313,6 @@ x_draw_bar_cursor (w, row, width)
struct glyph_row *row;
int width;
{
/* If cursor hpos is out of bounds, don't draw garbage. This can
happen in mini-buffer windows when switching between echo area
glyphs and mini-buffer. */
if (w->phys_cursor.hpos < row->used[TEXT_AREA])
{
struct frame *f = XFRAME (w->frame);
struct glyph *cursor_glyph;
GC gc;
......@@ -10327,10 +10322,24 @@ x_draw_bar_cursor (w, row, width)
Display *dpy;
Window window;
/* If cursor is out of bounds, don't draw garbage. This can happen
in mini-buffer windows when switching between echo area glyphs
and mini-buffer. */
cursor_glyph = get_phys_cursor_glyph (w);
if (cursor_glyph == NULL)
return;
/* If on an image, draw like a normal cursor. That's usually better
visible than drawing a bar, esp. if the image is large so that
the bar might not be in the window. */
if (cursor_glyph->type == IMAGE_GLYPH)
{
struct glyph_row *row;
row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos);
x_draw_phys_cursor_glyph (w, row, DRAW_CURSOR);
}
else
{
xgcv.background = f->output_data.x->cursor_pixel;
xgcv.foreground = f->output_data.x->cursor_pixel;
xgcv.graphics_exposures = 0;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment