- Unbreak selection colouring.

- Get UTF-8 check the right way round...
This commit is contained in:
Nicholas Marriott 2009-03-30 20:14:50 +00:00
parent e2a7ac4b36
commit 8a160f2d58
3 changed files with 9 additions and 9 deletions

View File

@ -1,4 +1,4 @@
/* $Id: screen-write.c,v 1.42 2009-03-29 11:18:28 nicm Exp $ */ /* $Id: screen-write.c,v 1.43 2009-03-30 20:14:50 nicm Exp $ */
/* /*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -617,9 +617,10 @@ screen_write_cell(
s->cx += width; s->cx += width;
/* Draw to the screen if necessary. */ /* Draw to the screen if necessary. */
if (screen_check_selection(s, s->cx - width, s->cy)) if (screen_check_selection(s, s->cx - width, s->cy)) {
s->sel.cell.data = gc->data;
tty_write_cmd(ctx->wp, TTY_CELL, &s->sel.cell, &gu); tty_write_cmd(ctx->wp, TTY_CELL, &s->sel.cell, &gu);
else } else
tty_write_cmd(ctx->wp, TTY_CELL, gc, &gu); tty_write_cmd(ctx->wp, TTY_CELL, gc, &gu);
} }

7
tty.c
View File

@ -1,4 +1,4 @@
/* $Id: tty.c,v 1.86 2009-03-29 11:18:28 nicm Exp $ */ /* $Id: tty.c,v 1.87 2009-03-30 20:14:50 nicm Exp $ */
/* /*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -384,7 +384,6 @@ void
tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int oy) tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int oy)
{ {
const struct grid_cell *gc; const struct grid_cell *gc;
struct grid_cell tmp_gc;
const struct grid_utf8 *gu; const struct grid_utf8 *gu;
u_int i, sx; u_int i, sx;
@ -403,8 +402,8 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int oy)
tty_cursor(tty, i, py, oy); tty_cursor(tty, i, py, oy);
if (screen_check_selection(s, i, py)) { if (screen_check_selection(s, i, py)) {
memcpy(&tmp_gc, &s->sel.cell, sizeof tmp_gc); s->sel.cell.data = gc->data;
tty_cell(tty, &tmp_gc, gu); tty_cell(tty, &s->sel.cell, gu);
} else } else
tty_cell(tty, gc, gu); tty_cell(tty, gc, gu);
} }

View File

@ -1,4 +1,4 @@
/* $Id: window-copy.c,v 1.54 2009-03-30 19:57:02 nicm Exp $ */ /* $Id: window-copy.c,v 1.55 2009-03-30 20:14:50 nicm Exp $ */
/* /*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -483,7 +483,7 @@ window_copy_copy_line(struct window_pane *wp,
gc = grid_peek_cell(wp->base.grid, i, sy); gc = grid_peek_cell(wp->base.grid, i, sy);
if (gc->flags & GRID_FLAG_PADDING) if (gc->flags & GRID_FLAG_PADDING)
continue; continue;
if (gc->flags & GRID_FLAG_UTF8) { if (!(gc->flags & GRID_FLAG_UTF8)) {
*buf = xrealloc(*buf, 1, (*off) + 1); *buf = xrealloc(*buf, 1, (*off) + 1);
(*buf)[(*off)++] = gc->data; (*buf)[(*off)++] = gc->data;
} else { } else {