From 26ef53747d8160d1f6cce9758c0db85bd06e09dc Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 13 Aug 2024 22:57:21 +0200 Subject: [PATCH] fix: don't send hover events to dead widgets --- src/tui/tui.zig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/tui/tui.zig b/src/tui/tui.zig index 243ce99..0639d8b 100644 --- a/src/tui/tui.zig +++ b/src/tui/tui.zig @@ -493,7 +493,8 @@ fn send_mouse(self: *Self, y: c_int, x: c_int, from: tp.pid_ref, m: tp.message) } else { if (self.hover_focus) |h| { var buf: [256]u8 = undefined; - _ = try h.send(tp.self_pid(), tp.message.fmtbuf(&buf, .{ "H", false }) catch |e| return tp.exit_error(e, @errorReturnTrace())); + if (self.is_live_widget_ptr(h)) + _ = try h.send(tp.self_pid(), tp.message.fmtbuf(&buf, .{ "H", false }) catch |e| return tp.exit_error(e, @errorReturnTrace())); } self.hover_focus = null; } @@ -524,7 +525,8 @@ fn send_mouse_drag(self: *Self, y: c_int, x: c_int, from: tp.pid_ref, m: tp.mess fn clear_hover_focus(self: *Self) tp.result { if (self.hover_focus) |h| { var buf: [256]u8 = undefined; - _ = try h.send(tp.self_pid(), tp.message.fmtbuf(&buf, .{ "H", false }) catch |e| return tp.exit_error(e, @errorReturnTrace())); + if (self.is_live_widget_ptr(h)) + _ = try h.send(tp.self_pid(), tp.message.fmtbuf(&buf, .{ "H", false }) catch |e| return tp.exit_error(e, @errorReturnTrace())); } self.hover_focus = null; }