From 1304c0680b8db9d8526eb36f0b563d534703338b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sat, 4 Apr 2015 15:09:04 +0200 Subject: Fix drawing of selection --- ui-curses.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/ui-curses.c b/ui-curses.c index 3d144c0..e7986eb 100644 --- a/ui-curses.c +++ b/ui-curses.c @@ -361,20 +361,17 @@ static void ui_window_cursor_to(UiWin *w, int x, int y) { static void ui_window_draw_text(UiWin *w, const Line *line) { UiCursesWin *win = (UiCursesWin*)w; wmove(win->win, 0, 0); - attr_t attr = 0; for (const Line *l = line; l; l = l->next) { /* add a single space in an otherwise empty line to make * the selection cohorent */ - if (l->width == 0) - waddch(win->win, ' '); - - for (int x = 0; x < l->width; x++) { - attr_t newattr = l->cells[x].attr; - if (newattr != attr) { - wattrset(win->win, newattr); - attr = newattr; + if (l->width == 1 && l->cells[0].data[0] == '\n') { + wattrset(win->win, l->cells[0].attr); + waddstr(win->win, " \n"); + } else { + for (int x = 0; x < l->width; x++) { + wattrset(win->win, l->cells[x].attr); + waddstr(win->win, l->cells[x].data); } - waddstr(win->win, l->cells[x].data); } wclrtoeol(win->win); } -- cgit v1.2.3