From ea0766e62b4c63e7afacfb6d62cee554862061c6 Mon Sep 17 00:00:00 2001 From: Leorize Date: Sat, 7 Jun 2025 11:57:26 -0500 Subject: [PATCH] gtk/CommandPalette: prevent leaks on initialization * Deallocate the builder after use * Don't hold a reference to `Command` after appending to `GListStore` --- src/apprt/gtk/CommandPalette.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/apprt/gtk/CommandPalette.zig b/src/apprt/gtk/CommandPalette.zig index fda2c5ca8..a99db78d7 100644 --- a/src/apprt/gtk/CommandPalette.zig +++ b/src/apprt/gtk/CommandPalette.zig @@ -43,6 +43,7 @@ pub fn init(self: *CommandPalette, window: *Window) !void { _ = Command.getGObjectType(); var builder = Builder.init("command-palette", 1, 5); + defer builder.deinit(); self.* = .{ .window = window, @@ -120,7 +121,9 @@ pub fn updateConfig(self: *CommandPalette, config: *const configpkg.Config) !voi command, config.keybind.set, ); - self.source.append(cmd.as(gobject.Object)); + const cmd_ref = cmd.as(gobject.Object); + self.source.append(cmd_ref); + cmd_ref.unref(); } }