aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorJohannes Schickel2008-04-26 10:21:53 +0000
committerJohannes Schickel2008-04-26 10:21:53 +0000
commitbba003e53a13b16a2584bf4aec7bc79c949924ae (patch)
tree6188c9f451bbf9c82aa68e933e3c5b0c1dcf648f /common
parent61101b6dcef33d99f53705e40c9214ccd63fe847 (diff)
downloadscummvm-rg350-bba003e53a13b16a2584bf4aec7bc79c949924ae.tar.gz
scummvm-rg350-bba003e53a13b16a2584bf4aec7bc79c949924ae.tar.bz2
scummvm-rg350-bba003e53a13b16a2584bf4aec7bc79c949924ae.zip
Fixed segfault when trying to start invalid gameid from command line.
svn-id: r31731
Diffstat (limited to 'common')
-rw-r--r--common/singleton.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/common/singleton.h b/common/singleton.h
index 849bf208bb..be9f5d6dba 100644
--- a/common/singleton.h
+++ b/common/singleton.h
@@ -57,6 +57,11 @@ public:
return new T();
}
+ static void destroyInstance() {
+ delete _singleton;
+ _singleton = 0;
+ }
+
public:
static T& instance() {
@@ -71,9 +76,9 @@ public:
_singleton = T::makeInstance();
return *_singleton;
}
- virtual void destroy() {
- delete _singleton;
- _singleton = 0;
+
+ static void destroy() {
+ T::destroyInstance();
}
protected:
Singleton<T>() { }