diff options
author | Max Horn | 2010-10-23 15:44:04 +0000 |
---|---|---|
committer | Max Horn | 2010-10-23 15:44:04 +0000 |
commit | c483a22f2a8c02c2b1ecaf5f9626999fd3ed3c7e (patch) | |
tree | 157405c31e1e03dd43def80ec8445d6fb0f4a7e5 /engines/sword25/input/inputengine_script.cpp | |
parent | 3e657c1bf961390bf645a27c6616b527e457d372 (diff) | |
download | scummvm-rg350-c483a22f2a8c02c2b1ecaf5f9626999fd3ed3c7e.tar.gz scummvm-rg350-c483a22f2a8c02c2b1ecaf5f9626999fd3ed3c7e.tar.bz2 scummvm-rg350-c483a22f2a8c02c2b1ecaf5f9626999fd3ed3c7e.zip |
SWORD25: Get rid of global SharedPtr instances
svn-id: r53734
Diffstat (limited to 'engines/sword25/input/inputengine_script.cpp')
-rw-r--r-- | engines/sword25/input/inputengine_script.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/engines/sword25/input/inputengine_script.cpp b/engines/sword25/input/inputengine_script.cpp index 303f0e69e1..0ada7ece5c 100644 --- a/engines/sword25/input/inputengine_script.cpp +++ b/engines/sword25/input/inputengine_script.cpp @@ -63,7 +63,8 @@ protected: return 1; } }; -Common::SharedPtr<CharacterCallbackClass> characterCallbackPtr; + +static CharacterCallbackClass *characterCallbackPtr = 0; // FIXME: should be turned into InputEngine member var class CommandCallbackClass : public LuaCallback { public: @@ -79,7 +80,8 @@ protected: return 1; } }; -Common::SharedPtr<CommandCallbackClass> commandCallbackPtr; + +static CommandCallbackClass *commandCallbackPtr = 0; // FIXME: should be turned into InputEngine member var struct CallbackfunctionRegisterer { CallbackfunctionRegisterer() { @@ -290,10 +292,21 @@ bool InputEngine::registerScriptBindings() { if (!LuaBindhelper::addFunctionsToLib(L, PACKAGE_LIBRARY_NAME, PACKAGE_FUNCTIONS)) return false; if (!LuaBindhelper::addConstantsToLib(L, PACKAGE_LIBRARY_NAME, PACKAGE_CONSTANTS)) return false; - characterCallbackPtr = Common::SharedPtr<CharacterCallbackClass>(new CharacterCallbackClass(L)); - commandCallbackPtr = Common::SharedPtr<CommandCallbackClass>(new CommandCallbackClass(L)); + assert(characterCallbackPtr == 0); + characterCallbackPtr = new CharacterCallbackClass(L); + + assert(commandCallbackPtr == 0); + commandCallbackPtr = new CommandCallbackClass(L); return true; } +void InputEngine::unregisterScriptBindings() { + delete characterCallbackPtr; + characterCallbackPtr = 0; + + delete commandCallbackPtr; + commandCallbackPtr = 0; +} + } // End of namespace Sword25 |