From b616ef8c149b17efcf2de91288464a957ecfe2ca Mon Sep 17 00:00:00 2001 From: iobyte Date: Sat, 25 Apr 2020 15:04:53 +0000 Subject: [PATCH] moved static car menu pointer variable into garage menu class git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6960 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 91887c5284033f831d234a608c99990e3312d405 Former-commit-id: c435103cff51d6a126238c248041a8a835f04970 --- .../legacymenu/racescreens/garagemenu.cpp | 30 ++++++++++--------- .../legacymenu/racescreens/garagemenu.h | 4 +++ 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/modules/userinterface/legacymenu/racescreens/garagemenu.cpp b/src/modules/userinterface/legacymenu/racescreens/garagemenu.cpp index 89efc3578..ad0a85139 100644 --- a/src/modules/userinterface/legacymenu/racescreens/garagemenu.cpp +++ b/src/modules/userinterface/legacymenu/racescreens/garagemenu.cpp @@ -35,8 +35,6 @@ #include "garagemenu.h" #include "carsetupmenu.h" -static CarSetupMenu *carSetupMenu = nullptr; - void RmGarageMenu::onActivateCB(void *pGarageMenu) { GfLogTrace("Entering Garage menu\n"); @@ -44,10 +42,10 @@ void RmGarageMenu::onActivateCB(void *pGarageMenu) // Get the RmGarageMenu instance. RmGarageMenu* pMenu = static_cast(pGarageMenu); - if (carSetupMenu) + if (pMenu->_pCarSetupMenu) { - delete carSetupMenu; - carSetupMenu = nullptr; + delete pMenu->_pCarSetupMenu; + pMenu->_pCarSetupMenu = nullptr; } // Get infos about the current car for the current driver @@ -139,9 +137,9 @@ void RmGarageMenu::onCarSetupCB(void *pGarageMenu) pDriver->setCar(pMenu->getSelectedCarModel()); // Switch to setup screen. - carSetupMenu = new CarSetupMenu; - carSetupMenu->initialize(pMenu->getMenuHandle(), pMenu->getRace(), pMenu->getDriver()); - carSetupMenu->runMenu(); + pMenu->_pCarSetupMenu = new CarSetupMenu; + pMenu->_pCarSetupMenu->initialize(pMenu->getMenuHandle(), pMenu->getRace(), pMenu->getDriver()); + pMenu->_pCarSetupMenu->runMenu(); } void RmGarageMenu::onAcceptCB(void *pGarageMenu) @@ -160,24 +158,28 @@ void RmGarageMenu::onAcceptCB(void *pGarageMenu) // Back to previous screen. GfuiScreenActivate(pMenu->getPreviousMenuHandle()); - delete carSetupMenu; - carSetupMenu = nullptr; + delete pMenu->_pCarSetupMenu; + pMenu->_pCarSetupMenu = nullptr; } void RmGarageMenu::onCancelCB(void *pGarageMenu) { // Get the RmGarageMenu instance from call-back user data. - const RmGarageMenu* pMenu = static_cast(pGarageMenu); + RmGarageMenu* pMenu = static_cast(pGarageMenu); // Back to previous screen. GfuiScreenActivate(pMenu->getPreviousMenuHandle()); - delete carSetupMenu; - carSetupMenu = nullptr; + delete pMenu->_pCarSetupMenu; + pMenu->_pCarSetupMenu = nullptr; } RmGarageMenu::RmGarageMenu() -: GfuiMenuScreen("garagemenu.xml"), _pRace(0), _pDriver(0), _nCurSkinIndex(0) +: GfuiMenuScreen("garagemenu.xml") +, _pRace(nullptr) +, _pDriver(nullptr) +, _nCurSkinIndex(0) +, _pCarSetupMenu(nullptr) { } diff --git a/src/modules/userinterface/legacymenu/racescreens/garagemenu.h b/src/modules/userinterface/legacymenu/racescreens/garagemenu.h index cf9e85e73..32061d862 100644 --- a/src/modules/userinterface/legacymenu/racescreens/garagemenu.h +++ b/src/modules/userinterface/legacymenu/racescreens/garagemenu.h @@ -28,6 +28,7 @@ class GfRace; class GfDriverSkin; class GfDriver; class GfCar; +class CarSetupMenu; class RmGarageMenu : public GfuiMenuScreen @@ -81,6 +82,9 @@ private: std::vector _vecPossSkins; size_t _nCurSkinIndex; + // The car setup menu. + CarSetupMenu *_pCarSetupMenu; + }; #endif //_GARAGEMENU_H_