aboutsummaryrefslogtreecommitdiff
path: root/base/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'base/main.cpp')
-rw-r--r--base/main.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/base/main.cpp b/base/main.cpp
index d108512416..f9ebe7ae56 100644
--- a/base/main.cpp
+++ b/base/main.cpp
@@ -45,9 +45,12 @@
#include "common/file.h"
#include "common/fs.h"
#include "common/system.h"
+
#include "gui/GuiManager.h"
#include "gui/message.h"
+#include "sound/audiocd.h"
+
#include "backends/keymapper/keymapper.h"
#if defined(_WIN32_WCE)
@@ -416,6 +419,15 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) {
warning("Could not find any engine capable of running the selected game");
}
+ // We will destory the AudioCDManager singleton here to save some memory.
+ // This will not make the CD audio stop, one would have to enable this:
+ //AudioCD.stop();
+ // but the engine is responsible for stopping CD playback anyway and
+ // this way we catch engines not doing it properly. For some more
+ // information about why AudioCDManager::destroy does not stop the CD
+ // playback read the FIXME in sound/audiocd.h
+ Audio::AudioCDManager::destroy();
+
// reset the graphics to default
setupGraphics(system);
launcherDialog();