aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/sdl
diff options
context:
space:
mode:
authorEugene Sandulenko2010-05-21 18:22:11 +0000
committerEugene Sandulenko2010-05-21 18:22:11 +0000
commit01c55efc95b2510eca1842058ab878e1ebd5ed4e (patch)
tree0723c1c5c314813583e04f14aab56eb13c94089a /backends/platform/sdl
parente7330aa0afec88c6d7327ac9fd1a49736daaad6f (diff)
downloadscummvm-rg350-01c55efc95b2510eca1842058ab878e1ebd5ed4e.tar.gz
scummvm-rg350-01c55efc95b2510eca1842058ab878e1ebd5ed4e.tar.bz2
scummvm-rg350-01c55efc95b2510eca1842058ab878e1ebd5ed4e.zip
SDL: Split quit() method into deinit() so error codes could be returned.
svn-id: r49131
Diffstat (limited to 'backends/platform/sdl')
-rw-r--r--backends/platform/sdl/main.cpp2
-rw-r--r--backends/platform/sdl/sdl.cpp6
-rw-r--r--backends/platform/sdl/sdl.h2
3 files changed, 8 insertions, 2 deletions
diff --git a/backends/platform/sdl/main.cpp b/backends/platform/sdl/main.cpp
index b38b815438..13e614a4a2 100644
--- a/backends/platform/sdl/main.cpp
+++ b/backends/platform/sdl/main.cpp
@@ -63,7 +63,7 @@ int main(int argc, char *argv[]) {
// Invoke the actual ScummVM main entry point:
int res = scummvm_main(argc, argv);
- g_system->quit(); // TODO: Consider removing / replacing this!
+ ((OSystem_SDL *)g_system)->deinit();
return res;
}
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp
index 33a06629f8..9fa43cb389 100644
--- a/backends/platform/sdl/sdl.cpp
+++ b/backends/platform/sdl/sdl.cpp
@@ -496,7 +496,7 @@ bool OSystem_SDL::getFeatureState(Feature f) {
}
}
-void OSystem_SDL::quit() {
+void OSystem_SDL::deinit() {
if (_cdrom) {
SDL_CDStop(_cdrom);
SDL_CDClose(_cdrom);
@@ -525,6 +525,10 @@ void OSystem_SDL::quit() {
// recorded events
delete getEventManager();
delete _savefile;
+}
+
+void OSystem_SDL::quit() {
+ deinit();
#if !defined(SAMSUNGTV)
exit(0);
diff --git a/backends/platform/sdl/sdl.h b/backends/platform/sdl/sdl.h
index b178d58994..c850ec5ab1 100644
--- a/backends/platform/sdl/sdl.h
+++ b/backends/platform/sdl/sdl.h
@@ -202,6 +202,8 @@ public:
// Quit
virtual void quit(); // overloaded by CE backend
+ void deinit();
+
virtual void getTimeAndDate(TimeDate &t) const;
virtual Common::TimerManager *getTimerManager();