summaryrefslogtreecommitdiff
path: root/plugins/MirLua/src/script.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MirLua/src/script.cpp')
-rw-r--r--plugins/MirLua/src/script.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/plugins/MirLua/src/script.cpp b/plugins/MirLua/src/script.cpp
index dc379c907c..2337a6737d 100644
--- a/plugins/MirLua/src/script.cpp
+++ b/plugins/MirLua/src/script.cpp
@@ -3,8 +3,10 @@
#define MT_SCRIPT "SCRIPT"
CMLuaScript::CMLuaScript(lua_State *L, const wchar_t *path)
- : CMLuaEnvironment(L), isBinary(false),
- status(ScriptStatus::None), unloadRef(LUA_NOREF)
+ : CMLuaEnvironment(L),
+ isBinary(false),
+ status(ScriptStatus::None),
+ unloadRef(LUA_NOREF)
{
mir_wstrcpy(filePath, path);
@@ -32,7 +34,7 @@ CMLuaScript::CMLuaScript(const CMLuaScript &script)
CMLuaScript::~CMLuaScript()
{
- Unload();
+ //Unload();
mir_free((void*)m_szModuleName);
mir_free((void*)scriptName);
}
@@ -81,7 +83,9 @@ int CMLuaScript::Load()
return false;
}
- if (!CMLuaEnvironment::Load()) {
+ CMLuaEnvironment::CreateEnvironmentTable();
+
+ if (lua_pcall(L, 0, 1, 0) != LUA_OK) {
ReportError(L);
return false;
}
@@ -138,7 +142,8 @@ int CMLuaScript::Unload()
lua_pushnil(L);
lua_setfield(L, -2, m_szModuleName);
lua_pop(L, 1);
- return 0;
+
+ return CMLuaEnvironment::Unload();
}
bool CMLuaScript::Reload()