diff options
Diffstat (limited to 'src/script/script_info.cpp')
-rw-r--r-- | src/script/script_info.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/script/script_info.cpp b/src/script/script_info.cpp index 12df08ce5..eaf757553 100644 --- a/src/script/script_info.cpp +++ b/src/script/script_info.cpp @@ -19,6 +19,7 @@ ScriptFileInfo::~ScriptFileInfo() free((void *)this->description); free((void *)this->date); free((void *)this->instance_name); + free((void *)this->url); free(this->main_script); free(this->SQ_instance); } @@ -68,5 +69,10 @@ bool ScriptFileInfo::CheckMethod(const char *name) const if (!info->engine->CallIntegerMethod(*info->SQ_instance, "GetVersion", &info->version)) return SQ_ERROR; if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "CreateInstance", &info->instance_name)) return SQ_ERROR; + /* The GetURL function is optional. */ + if (info->engine->MethodExists(*info->SQ_instance, "GetURL")) { + if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "GetURL", &info->url)) return SQ_ERROR; + } + return 0; } |