From 36e1ac65560a34c6fa381f821f6b1b733f9b6ed6 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 23 Oct 2023 08:12:00 +0000 Subject: Unzoom window at start of destroy so it doesn't happen later (when destroying panes) after the layout has been freed, GitHub issue 3717. --- screen-write.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'screen-write.c') diff --git a/screen-write.c b/screen-write.c index 0fcd156f..01632f61 100644 --- a/screen-write.c +++ b/screen-write.c @@ -2013,7 +2013,7 @@ screen_write_combine(struct screen_write_ctx *ctx, const struct grid_cell *gc) /* * Check if we need to combine characters. This could be zero width - * (zet above), a modifier character (with an existing Unicode + * (set above), a modifier character (with an existing Unicode * character) or a previous ZWJ. */ if (!zero_width) { -- cgit v1.2.3 From fdf465925e9b3cdd90c15a2f7fb475397f51b993 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 30 Oct 2023 16:05:30 +0000 Subject: Do not allow combined UTF-8 characters that are too long, GitHub issue 3729. --- screen-write.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'screen-write.c') diff --git a/screen-write.c b/screen-write.c index 01632f61..ff758a17 100644 --- a/screen-write.c +++ b/screen-write.c @@ -2025,6 +2025,10 @@ screen_write_combine(struct screen_write_ctx *ctx, const struct grid_cell *gc) return (0); } + /* Check if this combined character would be too long. */ + if (last.data.size + ud->size > sizeof last.data.data) + return (0); + /* Combining; flush any pending output. */ screen_write_collect_flush(ctx, 0, __func__); -- cgit v1.2.3