mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-05-19 11:31:19 +00:00
Deinit devmode more cleanly
This commit is contained in:
@@ -393,6 +393,9 @@ pub fn create(alloc: Allocator, app: *App, config: *const Config) !*Window {
|
||||
|
||||
// Add our window to the instance if it isn't set.
|
||||
DevMode.instance.window = self;
|
||||
|
||||
// Let our renderer setup
|
||||
try renderer_impl.initDevMode(window);
|
||||
}
|
||||
|
||||
// Give the renderer one more opportunity to finalize any window
|
||||
@@ -427,18 +430,22 @@ pub fn destroy(self: *Window) void {
|
||||
self.renderer.threadEnter(self.window) catch unreachable;
|
||||
self.renderer_thread.deinit();
|
||||
|
||||
// If we are devmode-owning, clean that up.
|
||||
if (DevMode.enabled and DevMode.instance.window == self) {
|
||||
// Let our renderer clean up
|
||||
self.renderer.deinitDevMode();
|
||||
|
||||
// Clear the window
|
||||
DevMode.instance.window = null;
|
||||
|
||||
// Uninitialize imgui
|
||||
self.imgui_ctx.destroy();
|
||||
}
|
||||
|
||||
// Deinit our renderer
|
||||
self.renderer.deinit();
|
||||
}
|
||||
|
||||
if (DevMode.enabled and DevMode.instance.window == self) {
|
||||
// Clear the window
|
||||
DevMode.instance.window = null;
|
||||
|
||||
// Uninitialize imgui
|
||||
self.imgui_ctx.destroy();
|
||||
}
|
||||
|
||||
{
|
||||
// Stop our IO thread
|
||||
self.io_thread.stop.send() catch |err|
|
||||
|
||||
Reference in New Issue
Block a user