From 9cc5c9711b4b93ab3188d784e6035262452a8f8b Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 14 Jan 2025 13:08:27 +0100 Subject: [PATCH] fix(win32 gui): avoid a panic on invalid utf-8 --- src/win32/d3d11.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/win32/d3d11.zig b/src/win32/d3d11.zig index d5800d4..75a3fd4 100644 --- a/src/win32/d3d11.zig +++ b/src/win32/d3d11.zig @@ -359,7 +359,10 @@ fn generateGlyph( grapheme_utf8: []const u8, texture: *win32.ID3D11Texture2D, ) u32 { - const codepoint = std.unicode.wtf8Decode(grapheme_utf8) catch std.unicode.replacement_character; + const codepoint = if (std.unicode.utf8ValidateSlice(grapheme_utf8)) + std.unicode.wtf8Decode(grapheme_utf8) catch std.unicode.replacement_character + else + std.unicode.replacement_character; switch (glyph_index_cache.reserve( global.glyph_cache_arena.allocator(), codepoint,