summaryrefslogtreecommitdiffstats
path: root/screen-write.c
diff options
context:
space:
mode:
authornicm <nicm>2018-01-12 16:43:47 +0000
committernicm <nicm>2018-01-12 16:43:47 +0000
commitb0c1cefeda9d11910dd4a174e82c9f57ff8bc495 (patch)
treea305805ec49e9bad32eb11c5dc43c5f45d539028 /screen-write.c
parent2c5a6f9af599f09d3445dd7ac40af31013e85d77 (diff)
Do not collect top-bit-set characters in case they need to be replaced.
Diffstat (limited to 'screen-write.c')
-rw-r--r--screen-write.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/screen-write.c b/screen-write.c
index 1687e8c8..75080d8b 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -1297,10 +1297,12 @@ screen_write_collect_end(struct screen_write_ctx *ctx)
grid_view_get_cell(s->grid, xx, s->cy, &gc);
if (~gc.flags & GRID_FLAG_PADDING)
break;
- grid_view_set_cell(s->grid, xx, s->cy, &grid_default_cell);
+ grid_view_set_cell(s->grid, xx, s->cy,
+ &grid_default_cell);
}
if (gc.data.width > 1)
- grid_view_set_cell(s->grid, xx, s->cy, &grid_default_cell);
+ grid_view_set_cell(s->grid, xx, s->cy,
+ &grid_default_cell);
}
memcpy(&gc, &ci->gc, sizeof gc);
@@ -1333,7 +1335,7 @@ screen_write_collect_add(struct screen_write_ctx *ctx,
*/
collect = 1;
- if (gc->data.width != 1 || gc->data.size != 1)
+ if (gc->data.width != 1 || gc->data.size != 1 || *gc->data.data >= 0x7f)
collect = 0;
else if (gc->attr & GRID_ATTR_CHARSET)
collect = 0;