From 5d062947da92828b569dd74a5ab924faeedb2d4e Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 26 Oct 2023 14:40:25 -0700 Subject: [PATCH] core: check for inspector activity before recording event Fixes #732 --- src/Surface.zig | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index 04bd2b4cd..2864c5781 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -1014,8 +1014,15 @@ pub fn keyCallback( // When we're done processing, we always want to add the event to // the inspector. - defer if (insp_ev) |ev| { - if (self.inspector.?.recordKeyEvent(ev)) { + defer if (insp_ev) |ev| ev: { + // We have to check for the inspector again because our keybinding + // might close it. + const insp = self.inspector orelse { + ev.deinit(self.alloc); + break :ev; + }; + + if (insp.recordKeyEvent(ev)) { self.queueRender() catch {}; } else |err| { log.warn("error adding key event to inspector err={}", .{err});