[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