diff --git a/external/SCsub b/external/SCsub index 601a11d4..a2b493cc 100644 --- a/external/SCsub +++ b/external/SCsub @@ -41,7 +41,7 @@ else: env_lua.Append(CPPDEFINES=['LUA_USE_IOS']) if not env_lua.msvc: - env_lua['CFLAGS'].remove('-std=gnu11') + #env_lua['CFLAGS'].remove('-std=gnu11') env_lua.Append(CFLAGS=['-std=c99']) env_lua.Append(CPPPATH=[Dir('lua').abspath]) diff --git a/register_types.cpp b/register_types.cpp index 8e09f00f..63469e8c 100644 --- a/register_types.cpp +++ b/register_types.cpp @@ -11,7 +11,7 @@ using namespace godot; #endif -void initialize_luaAPI_module(ModuleInitializationLevel p_level) { +void initialize_godot_luaAPI_module(ModuleInitializationLevel p_level) { if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) { return; } @@ -26,7 +26,7 @@ void initialize_luaAPI_module(ModuleInitializationLevel p_level) { ClassDB::register_class(); } -void uninitialize_luaAPI_module(ModuleInitializationLevel p_level) { +void uninitialize_godot_luaAPI_module(ModuleInitializationLevel p_level) { if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) { return; } diff --git a/register_types.h b/register_types.h index 0eebc3a6..8fed5b69 100644 --- a/register_types.h +++ b/register_types.h @@ -7,6 +7,6 @@ #include using namespace godot; #endif -void initialize_luaAPI_module(ModuleInitializationLevel p_level); -void uninitialize_luaAPI_module(ModuleInitializationLevel p_level); +void initialize_godot_luaAPI_module(ModuleInitializationLevel p_level); +void uninitialize_godot_luaAPI_module(ModuleInitializationLevel p_level); #endif diff --git a/src/classes/luaAPI.cpp b/src/classes/luaAPI.cpp index 1b7ad586..1dd4d21e 100644 --- a/src/classes/luaAPI.cpp +++ b/src/classes/luaAPI.cpp @@ -4,7 +4,7 @@ #include "luaObjectMetatable.h" #include - +#include "core/object/object.h" #ifdef LAPI_GDEXTENSION #include #endif @@ -71,7 +71,7 @@ void LuaAPI::_bind_methods() { } // Calls LuaState::bindLibs() -Ref LuaAPI::bindLibraries(TypedArray libs) { +Ref LuaAPI::bindLibraries(Array libs) { return state.bindLibraries(libs); } diff --git a/src/classes/luaAPI.h b/src/classes/luaAPI.h index 6f7934fd..5da3838f 100644 --- a/src/classes/luaAPI.h +++ b/src/classes/luaAPI.h @@ -53,7 +53,7 @@ class LuaAPI : public RefCounted { Variant getRegistryValue(String name); Ref setRegistryValue(String name, Variant var); - Ref bindLibraries(TypedArray libs); + Ref bindLibraries(Array libs); Ref pushGlobalVariant(String name, Variant var); Ref newCoroutine(); diff --git a/src/classes/luaCoroutine.cpp b/src/classes/luaCoroutine.cpp index ced035dd..089ee2d6 100644 --- a/src/classes/luaCoroutine.cpp +++ b/src/classes/luaCoroutine.cpp @@ -162,7 +162,9 @@ Variant LuaCoroutine::resume(Array args) { return LuaError::newError("Cannot have more than one connection to the coroutine_resume signal", LuaError::ERR_RUNTIME); } - Callable callback = resume_connections[0].callable; + auto connection = *(resume_connections.front()); + Callable callback = connection->callable; + if (!callback.is_valid()) { return LuaError::newError("Invalid callable connected to the coroutine_resume signal", LuaError::ERR_RUNTIME); } diff --git a/src/luaState.cpp b/src/luaState.cpp index 4cb95c3f..9a24ae8b 100644 --- a/src/luaState.cpp +++ b/src/luaState.cpp @@ -46,7 +46,7 @@ lua_State *LuaState::getState() const { } // Binds lua libraries with the lua state -Ref LuaState::bindLibraries(TypedArray libs) { +Ref LuaState::bindLibraries(Array libs) { for (int i = 0; i < libs.size(); i++) { if (!loadLuaLibrary(L, libs[i])) { return LuaError::newError(vformat("Library \"%s\" does not exist.", libs[i]), LuaError::ERR_RUNTIME); diff --git a/src/luaState.h b/src/luaState.h index 3b497c34..f1fddb63 100644 --- a/src/luaState.h +++ b/src/luaState.h @@ -33,7 +33,7 @@ class LuaState { Variant getRegistryValue(String name); Ref setRegistryValue(String name, Variant var); - Ref bindLibraries(TypedArray libs); + Ref bindLibraries(Array libs); Ref pushVariant(Variant var) const; Ref pushGlobalVariant(String name, Variant var); Ref handleError(int lua_error) const;