diff options
author | Filippos Karapetis | 2019-05-27 14:50:26 +0300 |
---|---|---|
committer | Filippos Karapetis | 2019-05-27 14:53:44 +0300 |
commit | f6af273fca66678bfa805184b8e6ac5ea4892291 (patch) | |
tree | ecebfa0b26220624038b8b92fa7c6f048924b262 /engines/startrek/menu.cpp | |
parent | f4e8eed13d7da5bcd87db7424358bf0d8759208f (diff) | |
download | scummvm-rg350-f6af273fca66678bfa805184b8e6ac5ea4892291.tar.gz scummvm-rg350-f6af273fca66678bfa805184b8e6ac5ea4892291.tar.bz2 scummvm-rg350-f6af273fca66678bfa805184b8e6ac5ea4892291.zip |
STARTREK: Fix MSVC warnings
- Disable duplicate if block
- Fix potentially uninitialized variables
- Change _activeMenu to be a regular pointer, instead of a SharedPtr - it was not
initialized correctly
- Fix struct packing in structs with pointers to complex objects
- Fix sound initialization
- Fix memory leaks (handles to files which were never deleted)
Diffstat (limited to 'engines/startrek/menu.cpp')
-rw-r--r-- | engines/startrek/menu.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/startrek/menu.cpp b/engines/startrek/menu.cpp index 0ef16592d3..a4a37394bf 100644 --- a/engines/startrek/menu.cpp +++ b/engines/startrek/menu.cpp @@ -499,8 +499,8 @@ void StarTrekEngine::loadMenuButtons(String mnuFilename, int xpos, int ypos) { if (_activeMenu == nullptr) _keyboardControlsMouseOutsideMenu = _keyboardControlsMouse; - SharedPtr<Menu> oldMenu = _activeMenu; - _activeMenu = SharedPtr<Menu>(new Menu()); + Menu *oldMenu = _activeMenu; + _activeMenu = new Menu(); _activeMenu->nextMenu = oldMenu; SharedPtr<FileStream> stream = loadFile(mnuFilename + ".MNU"); @@ -851,7 +851,9 @@ void StarTrekEngine::unloadMenuButtons() { _gfx->delSprite(sprite); } + Menu *prevMenu = _activeMenu; _activeMenu = _activeMenu->nextMenu; + delete prevMenu; if (_activeMenu == nullptr) _keyboardControlsMouse = _keyboardControlsMouseOutsideMenu; |