diff --git a/frontend/plugins/frontend-tools/scripts.cpp b/frontend/plugins/frontend-tools/scripts.cpp index 2e170f35a..2e007f044 100644 --- a/frontend/plugins/frontend-tools/scripts.cpp +++ b/frontend/plugins/frontend-tools/scripts.cpp @@ -630,6 +630,7 @@ extern "C" void InitScripts() { scriptLogWindow = new ScriptLogWindow(); + obs_scripting_set_module(obs_current_module()); obs_scripting_load(); obs_scripting_set_log_callback(script_log, nullptr); diff --git a/shared/obs-scripting/obs-scripting-lua-source.c b/shared/obs-scripting/obs-scripting-lua-source.c index 904d5fa4b..90347eaa1 100644 --- a/shared/obs-scripting/obs-scripting-lua-source.c +++ b/shared/obs-scripting/obs-scripting-lua-source.c @@ -632,6 +632,7 @@ static int obs_lua_register_source(lua_State *script) info.get_name = obs_lua_source_get_name; info.get_defaults2 = obs_lua_source_get_defaults; obs_register_source(&info); + obs_module_add_source(obs_current_module(), info.id); pthread_mutex_lock(&lua_source_def_mutex); v = info.type_data; diff --git a/shared/obs-scripting/obs-scripting.c b/shared/obs-scripting/obs-scripting.c index 90db088bb..2416c9df9 100644 --- a/shared/obs-scripting/obs-scripting.c +++ b/shared/obs-scripting/obs-scripting.c @@ -24,6 +24,18 @@ #include "obs-scripting-internal.h" #include "obs-scripting-callback.h" +static obs_module_t *obs_module_pointer; + +void obs_scripting_set_module(obs_module_t *module) +{ + obs_module_pointer = module; +} + +obs_module_t *obs_current_module(void) +{ + return obs_module_pointer; +} + #if defined(LUAJIT_FOUND) extern obs_script_t *obs_lua_script_create(const char *path, obs_data_t *settings); extern bool obs_lua_script_load(obs_script_t *s); diff --git a/shared/obs-scripting/obs-scripting.h b/shared/obs-scripting/obs-scripting.h index bf346bf79..2a87e800f 100644 --- a/shared/obs-scripting/obs-scripting.h +++ b/shared/obs-scripting/obs-scripting.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #ifdef __cplusplus @@ -31,6 +32,7 @@ typedef struct obs_script obs_script_t; enum obs_script_lang { OBS_SCRIPT_LANG_UNKNOWN, OBS_SCRIPT_LANG_LUA, OBS_SCRIPT_LANG_PYTHON }; +EXPORT void obs_scripting_set_module(obs_module_t *module); EXPORT bool obs_scripting_load(void); EXPORT void obs_scripting_unload(void); EXPORT const char **obs_scripting_supported_formats(void);