Add valgrind suppression file

This commit is contained in:
Mitchell Hashimoto
2025-07-17 11:42:54 -07:00
parent b2fe9fd7db
commit 8556877883
4 changed files with 1936 additions and 5 deletions

View File

@ -585,8 +585,8 @@ pub const Application = extern struct {
self.as(Parent), self.as(Parent),
); );
// const win = Window.new(self); const win = Window.new(self);
// gtk.Window.present(win.as(gtk.Window)); gtk.Window.present(win.as(gtk.Window));
} }
fn dispose(self: *Self) callconv(.C) void { fn dispose(self: *Self) callconv(.C) void {

View File

@ -101,15 +101,17 @@ pub const ConfigErrorsDialog = extern struct {
} }
fn dispose(self: *Self) callconv(.C) void { fn dispose(self: *Self) callconv(.C) void {
log.warn("DISPOSE", .{});
gtk.Widget.disposeTemplate(self.as(gtk.Widget), getGObjectType());
const priv = self.private(); const priv = self.private();
if (priv.config) |v| { if (priv.config) |v| {
v.unref(); v.unref();
priv.config = null; priv.config = null;
} }
gtk.Widget.disposeTemplate(
self.as(gtk.Widget),
getGObjectType(),
);
gobject.Object.virtual_methods.dispose.call( gobject.Object.virtual_methods.dispose.call(
Class.parent, Class.parent,
self.as(Parent), self.as(Parent),

View File

@ -33,6 +33,18 @@ pub const Window = extern struct {
gtk.Widget.initTemplate(self.as(gtk.Widget)); gtk.Widget.initTemplate(self.as(gtk.Widget));
} }
fn dispose(self: *Self) callconv(.C) void {
gtk.Widget.disposeTemplate(
self.as(gtk.Widget),
getGObjectType(),
);
gobject.Object.virtual_methods.dispose.call(
Class.parent,
self.as(Parent),
);
}
pub fn as(self: *Self, comptime T: type) *T { pub fn as(self: *Self, comptime T: type) *T {
return gobject.ext.as(T, self); return gobject.ext.as(T, self);
} }
@ -59,6 +71,8 @@ pub const Window = extern struct {
.name = "window", .name = "window",
}), }),
); );
gobject.Object.virtual_methods.dispose.implement(class, &dispose);
} }
pub fn as(class: *Class, comptime T: type) *T { pub fn as(class: *Class, comptime T: type) *T {

1915
valgrind.supp Normal file

File diff suppressed because it is too large Load Diff