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/base_tab/gamebase/PGNGameBase.cpp | 4 ++++ src/base_tab/gamebase/PGNGameBase.hpp | 1 + 2 files changed, 5 insertions(+) (limited to 'src/base_tab/gamebase') diff --git a/src/base_tab/gamebase/PGNGameBase.cpp b/src/base_tab/gamebase/PGNGameBase.cpp index 7a1a6a4..edcd98f 100644 --- a/src/base_tab/gamebase/PGNGameBase.cpp +++ b/src/base_tab/gamebase/PGNGameBase.cpp @@ -6,6 +6,10 @@ PGNGameBase::PGNGameBase(std::string pgn_file) : pgn(new pgnp::PGN()) { pgn->FromFile(pgn_file); } +PGNGameBase::~PGNGameBase() { + delete pgn; // Should never fail since pgn is never NULL +} + bool PGNGameBase::NextGame() { bool game_found = false; try { diff --git a/src/base_tab/gamebase/PGNGameBase.hpp b/src/base_tab/gamebase/PGNGameBase.hpp index 982f57c..4f39e1a 100644 --- a/src/base_tab/gamebase/PGNGameBase.hpp +++ b/src/base_tab/gamebase/PGNGameBase.hpp @@ -8,6 +8,7 @@ class PGNGameBase : public GameBase { public: PGNGameBase(std::string pgn_file); + ~PGNGameBase(); Game *GetGame(std::uint32_t id); bool NextGame(); Game *GetCurrentGame(); -- cgit v1.2.3