aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek/menu.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2019-05-27 14:50:26 +0300
committerFilippos Karapetis2019-05-27 14:53:44 +0300
commitf6af273fca66678bfa805184b8e6ac5ea4892291 (patch)
treeecebfa0b26220624038b8b92fa7c6f048924b262 /engines/startrek/menu.cpp
parentf4e8eed13d7da5bcd87db7424358bf0d8759208f (diff)
downloadscummvm-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.cpp6
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;