aboutsummaryrefslogtreecommitdiff
path: root/engines/sword25/input/inputengine_script.cpp
diff options
context:
space:
mode:
authorMax Horn2010-10-23 15:44:04 +0000
committerMax Horn2010-10-23 15:44:04 +0000
commitc483a22f2a8c02c2b1ecaf5f9626999fd3ed3c7e (patch)
tree157405c31e1e03dd43def80ec8445d6fb0f4a7e5 /engines/sword25/input/inputengine_script.cpp
parent3e657c1bf961390bf645a27c6616b527e457d372 (diff)
downloadscummvm-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.cpp21
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