fix(terminal): avoid Screen.reset causing use of undefined

Fully reset the kitty image storage instead of using the delete handler,
previously this caused a memory corruption / likely segfault due to use
of undefined, since the delete handler tries to clear the tracked pins
for placements, which it gets from the terminal, for which `undefined`
was passed in before.
This commit is contained in:
Qwerasd
2025-02-11 14:20:47 -05:00
parent 0532f67282
commit b624cfe262

View File

@ -278,12 +278,9 @@ pub fn reset(self: *Screen) void {
.page_cell = cursor_rac.cell,
};
// Clear kitty graphics
self.kitty_images.delete(
self.alloc,
undefined, // All image deletion doesn't need the terminal
.{ .all = true },
);
// Reset kitty graphics storage
self.kitty_images.deinit(self.alloc, self);
self.kitty_images = .{ .dirty = true };
// Reset our basic state
self.saved_cursor = null;