aboutsummaryrefslogtreecommitdiff
path: root/src/engine_tab/EngineTab.cpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-02-28 18:51:47 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-02-28 18:51:47 +0100
commita8c59c41bc103f0336d9982369be5dd85ac68111 (patch)
treefb6bfea03fe6b000fc7f3c4a0421388cd6a13d57 /src/engine_tab/EngineTab.cpp
parent8f1e8fa106107c61c7ac62fa0f13340537ba4d23 (diff)
Fix majors memory leaks (TODO: shared_ptr for Game objects and implement ~Game())
Diffstat (limited to 'src/engine_tab/EngineTab.cpp')
-rw-r--r--src/engine_tab/EngineTab.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/engine_tab/EngineTab.cpp b/src/engine_tab/EngineTab.cpp
index 6db6bdd..67ddc22 100644
--- a/src/engine_tab/EngineTab.cpp
+++ b/src/engine_tab/EngineTab.cpp
@@ -30,7 +30,7 @@ EngineTab::EngineTab(wxWindow *parent, uciadapter::UCI *engine,
}
EngineTab::EngineTab(wxWindow *parent, std::string name)
- : TabEngine(parent), TabInfos(TabInfos::ENGINE) {
+ : TabEngine(parent), TabInfos(TabInfos::ENGINE), engine(NULL) {
SetLabel(name);
engineName = name;
confGroup = "engines/" + engineName;
@@ -44,6 +44,14 @@ EngineTab::EngineTab(wxWindow *parent, std::string name)
Bind(wxEVT_BUTTON, &EngineTab::OnDelete, this, ENGINE_DELETE_CONF_BUTTON);
}
+EngineTab::~EngineTab() {
+ if (engine != NULL) {
+ wxLogDebug("EngineTab destructor: destroying engine!");
+ engine->quit();
+ delete engine;
+ }
+}
+
void EngineTab::OnDelete(wxCommandEvent &event) {
CONFIG_OPEN(conf);
conf->DeleteGroup(confGroup);