From 9607e97fe9f833fe1fc667368fde4f91cebbde47 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 8 Feb 2022 12:36:38 +0100 Subject: [PATCH] example: really resolve swapchain memory leak this time --- examples/swapchain.zig | 2 +- examples/triangle.zig | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/swapchain.zig b/examples/swapchain.zig index 78c7962..2646a8d 100644 --- a/examples/swapchain.zig +++ b/examples/swapchain.zig @@ -101,6 +101,7 @@ pub const Swapchain = struct { fn deinitExceptSwapchain(self: Swapchain) void { for (self.swap_images) |si| si.deinit(self.gc); + self.allocator.free(self.swap_images); self.gc.vkd.destroySemaphore(self.gc.dev, self.next_image_acquired, null); } @@ -110,7 +111,6 @@ pub const Swapchain = struct { pub fn deinit(self: Swapchain) void { self.deinitExceptSwapchain(); - self.allocator.free(self.swap_images); self.gc.vkd.destroySwapchainKHR(self.gc.dev, self.handle, null); } diff --git a/examples/triangle.zig b/examples/triangle.zig index 06ff6ca..78e96cc 100644 --- a/examples/triangle.zig +++ b/examples/triangle.zig @@ -56,7 +56,9 @@ pub fn main() !void { ) orelse return error.WindowInitFailed; defer c.glfwDestroyWindow(window); - const allocator = std.heap.page_allocator; + var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + defer _ = gpa.deinit(); + const allocator = gpa.allocator(); const gc = try GraphicsContext.init(allocator, app_name, window); defer gc.deinit();