From 44ea0a50a39d58cb9e1f167c2973e396b4d853aa Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 28 Feb 2022 20:16:57 +0100 Subject: Migrate to std::shared_ptr --- src/game_tab/GameTab.cpp | 6 +----- src/game_tab/GameTab.hpp | 7 +++---- src/game_tab/left_panel/GameTabLeftPanel.cpp | 2 +- src/game_tab/left_panel/GameTabLeftPanel.hpp | 4 ++-- src/game_tab/right_panel/GameTabRightPanel.cpp | 2 +- src/game_tab/right_panel/GameTabRightPanel.hpp | 4 ++-- 6 files changed, 10 insertions(+), 15 deletions(-) (limited to 'src/game_tab') diff --git a/src/game_tab/GameTab.cpp b/src/game_tab/GameTab.cpp index 769681c..55d7848 100644 --- a/src/game_tab/GameTab.cpp +++ b/src/game_tab/GameTab.cpp @@ -3,7 +3,7 @@ wxDEFINE_EVENT(GAME_CHANGE, wxCommandEvent); -GameTab::GameTab(wxFrame *parent, Game *game) +GameTab::GameTab(wxFrame *parent, std::shared_ptr game) : wxPanel(parent), game(game), TabInfos(TabInfos::GAME) { // Splitter wxSplitterWindow *splitter = new wxSplitterWindow(this, wxID_ANY); @@ -30,10 +30,6 @@ GameTab::GameTab(wxFrame *parent, Game *game) Bind(GAME_CHANGE, &GameTab::OnGameChange, this, wxID_ANY); } -GameTab::~GameTab() { - delete game; -} - void GameTab::OnGameChange(wxCommandEvent &event) { board_panel->Notify(); editor_panel->Notify(); diff --git a/src/game_tab/GameTab.hpp b/src/game_tab/GameTab.hpp index 15f0514..6b24473 100644 --- a/src/game_tab/GameTab.hpp +++ b/src/game_tab/GameTab.hpp @@ -16,16 +16,15 @@ wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent); class GameTab : public wxPanel, public TabInfos { GameTabRightPanel *editor_panel; GameTabLeftPanel *board_panel; - Game *game; + std::shared_ptr game; void RefreshLabel(); void OnRefreshTabTitle(wxCommandEvent &event); void OnGameChange(wxCommandEvent &event); public: - GameTab(wxFrame *parent, Game *game); - ~GameTab(); + GameTab(wxFrame *parent, std::shared_ptr game); void ApplyPreferences(); - void *GetGame() { return (game); } + std::shared_ptr GetGame() { return (std::shared_ptr(game)); } void *GetBase() { return (NULL); }; }; diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp index d4c415d..a32ab23 100644 --- a/src/game_tab/left_panel/GameTabLeftPanel.cpp +++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp @@ -1,7 +1,7 @@ #include "GameTabLeftPanel.hpp" #include -GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, Game *game) +GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr game) : TabGameLeftPanel(parent), game(game) { // Add board diff --git a/src/game_tab/left_panel/GameTabLeftPanel.hpp b/src/game_tab/left_panel/GameTabLeftPanel.hpp index c4b58b9..7aeb725 100644 --- a/src/game_tab/left_panel/GameTabLeftPanel.hpp +++ b/src/game_tab/left_panel/GameTabLeftPanel.hpp @@ -9,12 +9,12 @@ wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent); class GameTabLeftPanel : public TabGameLeftPanel { - Game *game; + std::shared_ptr game; BoardCanvas *board_canvas; void NotifyEditor(); public: - GameTabLeftPanel(wxFrame *parent, Game *game); + GameTabLeftPanel(wxFrame *parent, std::shared_ptr game); void Notify(); void OnPlay(wxCommandEvent &event); void OnGotoMove(wxCommandEvent &event); diff --git a/src/game_tab/right_panel/GameTabRightPanel.cpp b/src/game_tab/right_panel/GameTabRightPanel.cpp index f34dd59..569f2c3 100644 --- a/src/game_tab/right_panel/GameTabRightPanel.cpp +++ b/src/game_tab/right_panel/GameTabRightPanel.cpp @@ -7,7 +7,7 @@ wxDEFINE_EVENT(SET_AS_MAINLINE_EVENT, wxCommandEvent); wxDEFINE_EVENT(PREVIOUS_MOVE_EVENT, wxCommandEvent); wxDEFINE_EVENT(NEXT_MOVE_EVENT, wxCommandEvent); -GameTabRightPanel::GameTabRightPanel(wxFrame *parent, Game *game) +GameTabRightPanel::GameTabRightPanel(wxFrame *parent, std::shared_ptr game) : TabGameRightPanel(parent), game(game), selected_item(-1), live_engine(NULL) { editor_canvas = new EditorCanvas((wxFrame *)editor_page); diff --git a/src/game_tab/right_panel/GameTabRightPanel.hpp b/src/game_tab/right_panel/GameTabRightPanel.hpp index 021f755..20593ed 100644 --- a/src/game_tab/right_panel/GameTabRightPanel.hpp +++ b/src/game_tab/right_panel/GameTabRightPanel.hpp @@ -16,13 +16,13 @@ wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent); wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent); class GameTabRightPanel : public TabGameRightPanel { - Game *game; + std::shared_ptr game; EditorCanvas *editor_canvas; long selected_item; LiveEngineDialog *live_engine; public: - GameTabRightPanel(wxFrame *parent, Game *game); + GameTabRightPanel(wxFrame *parent, std::shared_ptr game); void NotifyBoard(); void Notify(); void OnCommentChange(wxCommandEvent &event); -- cgit v1.2.3