[Scummvm-cvs-logs] SF.net SVN: scummvm: [31731] scummvm/trunk
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Sat Apr 26 12:21:53 CEST 2008
Revision: 31731
http://scummvm.svn.sourceforge.net/scummvm/?rev=31731&view=rev
Author: lordhoto
Date: 2008-04-26 03:21:53 -0700 (Sat, 26 Apr 2008)
Log Message:
-----------
Fixed segfault when trying to start invalid gameid from command line.
Modified Paths:
--------------
scummvm/trunk/base/main.cpp
scummvm/trunk/common/singleton.h
Modified: scummvm/trunk/base/main.cpp
===================================================================
--- scummvm/trunk/base/main.cpp 2008-04-26 10:15:54 UTC (rev 31730)
+++ scummvm/trunk/base/main.cpp 2008-04-26 10:21:53 UTC (rev 31731)
@@ -330,9 +330,9 @@
launcherDialog(system);
}
PluginManager::instance().unloadPluginsExcept(NULL);
- PluginManager::instance().destroy();
- ConfMan.destroy();
- g_gui.destroy();
+ PluginManager::destroy();
+ Common::ConfigManager::destroy();
+ GUI::NewGui::destroy();
return 0;
}
Modified: scummvm/trunk/common/singleton.h
===================================================================
--- scummvm/trunk/common/singleton.h 2008-04-26 10:15:54 UTC (rev 31730)
+++ scummvm/trunk/common/singleton.h 2008-04-26 10:21:53 UTC (rev 31731)
@@ -57,7 +57,12 @@
return new T();
}
+ static void destroyInstance() {
+ delete _singleton;
+ _singleton = 0;
+ }
+
public:
static T& instance() {
// TODO: We aren't thread safe. For now we ignore it since the
@@ -71,9 +76,9 @@
_singleton = T::makeInstance();
return *_singleton;
}
- virtual void destroy() {
- delete _singleton;
- _singleton = 0;
+
+ static void destroy() {
+ T::destroyInstance();
}
protected:
Singleton<T>() { }
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