Only log completely absent script functions as an error

This commit is contained in:
GriffinR 2021-12-28 22:56:47 -05:00 committed by huderlem
parent 3bc9497ea2
commit 98f4bae728
2 changed files with 6 additions and 3 deletions

View file

@ -9,6 +9,7 @@ The **"Breaking Changes"** listed below are changes that have been made in the d
## [Unreleased]
### Changed
- If an object event is inanimate, it will always render using its first frame.
- Only log "Unknown custom script function" when a registered script function is not present in any script.
## [4.5.0] - 2021-12-26
### Added

View file

@ -94,18 +94,20 @@ void Scripting::invokeAction(QString actionName) {
if (!instance) return;
if (!instance->registeredActions.contains(actionName)) return;
bool foundFunction = false;
QString functionName = instance->registeredActions.value(actionName);
for (QJSValue module : instance->modules) {
QJSValue callbackFunction = module.property(functionName);
if (callbackFunction.isUndefined() || !callbackFunction.isCallable()) {
logError(QString("Unknown custom script function '%1'").arg(functionName));
if (callbackFunction.isUndefined() || !callbackFunction.isCallable())
continue;
}
foundFunction = true;
if (tryErrorJS(callbackFunction)) continue;
QJSValue result = callbackFunction.call(QJSValueList());
if (tryErrorJS(result)) continue;
}
if (!foundFunction)
logError(QString("Unknown custom script function '%1'").arg(functionName));
}
void Scripting::cb_ProjectOpened(QString projectPath) {