From e33f6c71de6ed9e53491c05a046841802bf0f8ae Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 9 Aug 2023 08:18:43 -0700 Subject: [PATCH] update libxev to fix split writes on large writes (i.e. big paste) Fixes #258 This was an upstream bug in libxev where partial the queueWrite mechanism would not correctly handle partial write results: https://github.com/mitchellh/libxev/pull/60 --- build.zig | 5 ++++- src/renderer/Thread.zig | 10 +++++----- src/termio/Exec.zig | 2 +- vendor/libxev | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/build.zig b/build.zig index 32f2a3655..c02b51c00 100644 --- a/build.zig +++ b/build.zig @@ -673,13 +673,16 @@ fn addDeps( if (font_backend.hasFontconfig()) step.addModule("fontconfig", fontconfig.module(b)); const mod_freetype = freetype.module(b); const mod_macos = macos.module(b); + const mod_libxev = b.createModule(.{ + .source_file = .{ .path = "vendor/libxev/src/main.zig" }, + }); step.addModule("freetype", mod_freetype); step.addModule("harfbuzz", harfbuzz.module(b, .{ .freetype = mod_freetype, .macos = mod_macos, })); step.addModule("imgui", imgui.module(b)); - step.addModule("xev", libxev.module(b)); + step.addModule("xev", mod_libxev); step.addModule("pixman", pixman.module(b)); step.addModule("stb_image_resize", stb_image_resize.module(b)); step.addModule("utf8proc", utf8proc.module(b)); diff --git a/src/renderer/Thread.zig b/src/renderer/Thread.zig index a4eac3b1a..866cdf34c 100644 --- a/src/renderer/Thread.zig +++ b/src/renderer/Thread.zig @@ -370,11 +370,11 @@ fn cursorCancelCallback( r: xev.Timer.CancelError!void, ) xev.CallbackAction { _ = r catch |err| switch (err) { - error.NotFound => {}, - else => { - log.warn("error in cursor cancel callback err={}", .{err}); - unreachable; - }, + error.Canceled => {}, + // else => { + // log.warn("error in cursor cancel callback err={}", .{err}); + // unreachable; + // }, }; return .disarm; diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index f4986e3c6..a02428c73 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -483,7 +483,7 @@ fn ttyWrite( return .disarm; }; _ = d; - //log.info("WROTE: {d}", .{status}); + //log.info("WROTE: {d}", .{d}); return .disarm; } diff --git a/vendor/libxev b/vendor/libxev index a3e5c9b26..32e67d79e 160000 --- a/vendor/libxev +++ b/vendor/libxev @@ -1 +1 @@ -Subproject commit a3e5c9b263775d6955dd3eccfb0e8931346f48c4 +Subproject commit 32e67d79ec11d3e976a89b10b4a0c50d2d66ec75