mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-20 10:46:07 +03:00
clean up some resources better on error
This commit is contained in:
@ -255,6 +255,7 @@ pub fn create(alloc: Allocator, app: *App, config: *const Config) !*Window {
|
|||||||
|
|
||||||
// Create our terminal grid with the initial window size
|
// Create our terminal grid with the initial window size
|
||||||
var renderer_impl = try Renderer.init(alloc, font_group);
|
var renderer_impl = try Renderer.init(alloc, font_group);
|
||||||
|
errdefer renderer_impl.deinit();
|
||||||
renderer_impl.background = .{
|
renderer_impl.background = .{
|
||||||
.r = config.background.r,
|
.r = config.background.r,
|
||||||
.g = config.background.g,
|
.g = config.background.g,
|
||||||
|
@ -65,7 +65,11 @@ pub fn init(
|
|||||||
|
|
||||||
// Create our event loop.
|
// Create our event loop.
|
||||||
var loop = try libuv.Loop.init(alloc);
|
var loop = try libuv.Loop.init(alloc);
|
||||||
errdefer loop.deinit(alloc);
|
errdefer {
|
||||||
|
// Run the loop once to close any of our handles
|
||||||
|
_ = loop.run(.nowait) catch 0;
|
||||||
|
loop.deinit(alloc);
|
||||||
|
}
|
||||||
loop.setData(allocPtr);
|
loop.setData(allocPtr);
|
||||||
|
|
||||||
// This async handle is used to "wake up" the renderer and force a render.
|
// This async handle is used to "wake up" the renderer and force a render.
|
||||||
|
@ -49,7 +49,11 @@ pub fn init(
|
|||||||
|
|
||||||
// Create our event loop.
|
// Create our event loop.
|
||||||
var loop = try libuv.Loop.init(alloc);
|
var loop = try libuv.Loop.init(alloc);
|
||||||
errdefer loop.deinit(alloc);
|
errdefer {
|
||||||
|
// Run the loop once to close any of our handles
|
||||||
|
_ = loop.run(.nowait) catch 0;
|
||||||
|
loop.deinit(alloc);
|
||||||
|
}
|
||||||
loop.setData(allocPtr);
|
loop.setData(allocPtr);
|
||||||
|
|
||||||
// This async handle is used to "wake up" the renderer and force a render.
|
// This async handle is used to "wake up" the renderer and force a render.
|
||||||
|
Reference in New Issue
Block a user