diff --git a/src/main.zig b/src/main.zig index 8f05fa2..c0aa561 100644 --- a/src/main.zig +++ b/src/main.zig @@ -11,6 +11,7 @@ pub fn main() !void { var server: Server = undefined; try server.init(); + defer server.deinit(); var buf: [11]u8 = undefined; const socket = try server.wl_server.addSocketAuto(&buf); diff --git a/src/server.zig b/src/server.zig index 5939a08..da7e028 100644 --- a/src/server.zig +++ b/src/server.zig @@ -66,6 +66,16 @@ pub fn init(server: *Server) !void { server.keyboards.init(); } +pub fn deinit(server: *Server) void { + server.wl_server.destroyClients(); + + server.new_input.link.remove(); + server.new_output.link.remove(); + + server.backend.destroy(); + server.wl_server.destroy(); +} + fn newOutput(listener: *wl.Listener(*wlr.Output), wlr_output: *wlr.Output) void { const server: *Server = @fieldParentPtr("new_output", listener);