From a8c59c41bc103f0336d9982369be5dd85ac68111 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 28 Feb 2022 18:51:47 +0100 Subject: Fix majors memory leaks (TODO: shared_ptr for Game objects and implement ~Game()) --- src/game_tab/right_panel/LiveEngineDialog.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/game_tab/right_panel/LiveEngineDialog.cpp') diff --git a/src/game_tab/right_panel/LiveEngineDialog.cpp b/src/game_tab/right_panel/LiveEngineDialog.cpp index 1f509ae..73d3eb3 100644 --- a/src/game_tab/right_panel/LiveEngineDialog.cpp +++ b/src/game_tab/right_panel/LiveEngineDialog.cpp @@ -13,6 +13,13 @@ LiveEngineDialog::LiveEngineDialog(wxWindow *parent, std::string engine_name) Bind(wxEVT_CLOSE_WINDOW, &LiveEngineDialog::OnClose, this); } +LiveEngineDialog::~LiveEngineDialog() { + if (engine != NULL) { + wxLogDebug("LiveEngineDialog destructor: delete engine"); + delete engine; + } +} + void LiveEngineDialog::InitEngine() { if (engine == NULL) { wxLogDebug("Start engine: %s", engine_name); @@ -51,9 +58,8 @@ void LiveEngineDialog::OnClose(wxCloseEvent &e) { timer.Stop(); engine->stop(); engine->quit(); - delete engine; } - e.Skip(); + Destroy(); } void LiveEngineDialog::SetFEN(std::string fen) { -- cgit v1.2.3