From 4b64e921946c0856793799a34d820140e94431ba Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Wed, 15 Dec 2010 15:10:15 +0000 Subject: Only draw caret if there is no selection. svn path=/trunk/netsurf/; revision=11060 --- desktop/textarea.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'desktop/textarea.c') diff --git a/desktop/textarea.c b/desktop/textarea.c index 43e3df688..4e0f22548 100644 --- a/desktop/textarea.c +++ b/desktop/textarea.c @@ -897,10 +897,16 @@ void textarea_redraw(struct text_area *ta, int x, int y, &ta->fstyle); } - if (x + ta->caret_x >= clip_x0 && x + ta->caret_x <= clip_x1) { + if ((ta->selection_end == -1 || + ta->selection_start == ta->selection_end) && + x + ta->caret_x >= clip_x0 && + x + ta->caret_x <= clip_x1) { + /* There is no selection and caret is in horizontal + * clip range. */ int caret_height = ta->line_height - 1; y += ta->caret_y + vertical_offset; if (y + caret_height >= clip_y0 && y <= clip_y1) + /* Caret in vertical clip range; plot */ plot.line(x + ta->caret_x, y + ta->caret_y, x + ta->caret_x, y + ta->caret_y + ta->line_height, -- cgit v1.2.3