diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 8d02c9185..2505810ef 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -178,8 +178,9 @@ fn updateConfigErrors(self: *App) !void { try ConfigErrorsWindow.create(self); assert(self.config_errors_window != null); } + } - const window = self.config_errors_window.?; + if (self.config_errors_window) |window| { window.update(); } } diff --git a/src/apprt/gtk/ConfigErrorsWindow.zig b/src/apprt/gtk/ConfigErrorsWindow.zig index 7a113ff07..f582c459a 100644 --- a/src/apprt/gtk/ConfigErrorsWindow.zig +++ b/src/apprt/gtk/ConfigErrorsWindow.zig @@ -28,6 +28,11 @@ pub fn create(app: *App) !void { } pub fn update(self: *ConfigErrors) void { + if (self.app.config._errors.empty()) { + c.gtk_window_destroy(@ptrCast(self.window)); + return; + } + self.view.update(&self.app.config); _ = c.gtk_window_present(self.window); _ = c.gtk_widget_grab_focus(@ptrCast(self.window));