[Scummvm-cvs-logs] SF.net SVN: scummvm:[49679] scummvm/branches/gsoc2010-opengl/backends
vgvgf at users.sourceforge.net
vgvgf at users.sourceforge.net
Tue Jun 15 07:15:34 CEST 2010
Revision: 49679
http://scummvm.svn.sourceforge.net/scummvm/?rev=49679&view=rev
Author: vgvgf
Date: 2010-06-15 05:15:34 +0000 (Tue, 15 Jun 2010)
Log Message:
-----------
Improved ModularBackend and OSystem_SDL destructors.
Modified Paths:
--------------
scummvm/branches/gsoc2010-opengl/backends/modular-backend.cpp
scummvm/branches/gsoc2010-opengl/backends/platform/sdl/main.cpp
scummvm/branches/gsoc2010-opengl/backends/platform/sdl/sdl.cpp
Modified: scummvm/branches/gsoc2010-opengl/backends/modular-backend.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/modular-backend.cpp 2010-06-15 04:13:12 UTC (rev 49678)
+++ scummvm/branches/gsoc2010-opengl/backends/modular-backend.cpp 2010-06-15 05:15:34 UTC (rev 49679)
@@ -40,11 +40,20 @@
}
ModularBackend::~ModularBackend() {
- delete _eventManager;
- delete _mutexManager;
- delete _graphicsManager;
- delete _mixer;
- delete _audiocdManager;
+ if (_eventManager != 0)
+ delete _eventManager;
+ if (_graphicsManager != 0)
+ delete _graphicsManager;
+ if (_mixer != 0)
+ delete _mixer;
+ if (_audiocdManager != 0)
+ delete _audiocdManager;
+ if (_savefileManager != 0)
+ delete _savefileManager;
+ if (_timerManager != 0)
+ delete _timerManager;
+ if (_mutexManager != 0)
+ delete _mutexManager;
}
bool ModularBackend::hasFeature(Feature f) {
Modified: scummvm/branches/gsoc2010-opengl/backends/platform/sdl/main.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/sdl/main.cpp 2010-06-15 04:13:12 UTC (rev 49678)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/sdl/main.cpp 2010-06-15 05:15:34 UTC (rev 49679)
@@ -63,7 +63,7 @@
// Invoke the actual ScummVM main entry point:
int res = scummvm_main(argc, argv);
- ((OSystem_SDL *)g_system)->deinit();
+ delete (OSystem_SDL *)g_system;
return res;
}
Modified: scummvm/branches/gsoc2010-opengl/backends/platform/sdl/sdl.cpp
===================================================================
--- scummvm/branches/gsoc2010-opengl/backends/platform/sdl/sdl.cpp 2010-06-15 04:13:12 UTC (rev 49678)
+++ scummvm/branches/gsoc2010-opengl/backends/platform/sdl/sdl.cpp 2010-06-15 05:15:34 UTC (rev 49679)
@@ -169,9 +169,7 @@
}
OSystem_SDL::~OSystem_SDL() {
- delete _mixer;
- delete _savefileManager;
- delete _timerManager;
+ deinit();
}
void OSystem_SDL::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) {
@@ -299,16 +297,22 @@
void OSystem_SDL::deinit() {
SDL_ShowCursor(SDL_ENABLE);
+ delete _eventManager;
+ _eventManager = 0;
+ delete _savefileManager;
+ _savefileManager = 0;
+ delete _graphicsManager;
+ _graphicsManager = 0;
+ delete _audiocdManager;
+ _audiocdManager = 0;
delete _mixer;
-
+ _mixer = 0;
delete _timerManager;
+ _timerManager = 0;
+ delete _mutexManager;
+ _mutexManager = 0;
SDL_Quit();
-
- // Event Manager requires save manager for storing
- // recorded events
- delete _eventManager;
- delete _savefileManager;
}
void OSystem_SDL::quit() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list