gtk/CommandPalette: prevent leaks on initialization (#7541)

* Deallocate the builder after use
* Don't hold a reference to `Command` after appending to `GListStore`
pull/7545/head
Leah Amelia Chen 2025-06-07 23:15:16 +02:00 committed by GitHub
commit 990d1cdf37
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 1 deletions

View File

@ -43,6 +43,7 @@ pub fn init(self: *CommandPalette, window: *Window) !void {
_ = Command.getGObjectType(); _ = Command.getGObjectType();
var builder = Builder.init("command-palette", 1, 5); var builder = Builder.init("command-palette", 1, 5);
defer builder.deinit();
self.* = .{ self.* = .{
.window = window, .window = window,
@ -120,7 +121,9 @@ pub fn updateConfig(self: *CommandPalette, config: *const configpkg.Config) !voi
command, command,
config.keybind.set, 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();
} }
} }