aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/right_panel
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/game_tab/right_panel
parent8f1e8fa106107c61c7ac62fa0f13340537ba4d23 (diff)
Fix majors memory leaks (TODO: shared_ptr for Game objects and implement ~Game())
Diffstat (limited to 'src/game_tab/right_panel')
-rw-r--r--src/game_tab/right_panel/LiveEngineDialog.cpp10
-rw-r--r--src/game_tab/right_panel/LiveEngineDialog.hpp1
2 files changed, 9 insertions, 2 deletions
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) {
diff --git a/src/game_tab/right_panel/LiveEngineDialog.hpp b/src/game_tab/right_panel/LiveEngineDialog.hpp
index 999002f..0996ba0 100644
--- a/src/game_tab/right_panel/LiveEngineDialog.hpp
+++ b/src/game_tab/right_panel/LiveEngineDialog.hpp
@@ -10,6 +10,7 @@ class LiveEngineDialog : public DialogLiveEngine {
public:
LiveEngineDialog(wxWindow *parent, std::string engine_name);
+ ~LiveEngineDialog();
void InitEngine();
void TogglePauseEngine(wxCommandEvent &event);
void OnTimerTick(wxTimerEvent &event);