mirror-ghostty/include
Mitchell Hashimoto c5946f4fef
libghostty: detach tracked grid refs on free (#12795)
Tracked grid references previously held a raw terminal wrapper pointer
and were required to be freed before the terminal. If callers kept one
past terminal destruction, later tracked-ref calls could dereference
freed terminal or page-list memory before detecting that the reference
was no longer meaningful.

Track live C tracked-grid-ref handles from the terminal wrapper and
detach them before tearing down terminal storage. Detached refs now
report no value through the tracked-ref APIs and can still be freed by
the caller. Update the C API docs to describe this lifetime behavior and
add a regression test for using a tracked ref after terminal free.

This introduces some overhead but tracked pins shouldn't be numerous and
this dramatically improves safety.

No API changes due to this (just more safety).
2026-05-24 14:21:58 -07:00
..
ghostty libghostty: detach tracked grid refs on free (#12795) 2026-05-24 14:21:58 -07:00
ghostty.h feat: add +toggle-quick-terminal IPC command 2026-05-12 09:03:14 +08:00
module.modulemap include: comment the modulemap 2023-02-19 10:44:53 -08:00