mirror of https://github.com/OpenTTD/OpenTTD
Codechange: [Script] Don't report multiple errors on valuator/filter failure (#14303)
parent
10c159a79f
commit
2cd3c8db86
|
@ -2112,6 +2112,11 @@ function Regression::Start()
|
||||||
local list = AIList();
|
local list = AIList();
|
||||||
list.AddItem(0, 0);
|
list.AddItem(0, 0);
|
||||||
local Infinite = function(id) { while(true); }
|
local Infinite = function(id) { while(true); }
|
||||||
|
try {
|
||||||
|
list = AIIndustryList(Infinite);
|
||||||
|
} catch (e) {
|
||||||
|
print("constructor failed with: " + e);
|
||||||
|
}
|
||||||
list.Valuate(Infinite);
|
list.Valuate(Infinite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9792,20 +9792,10 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
-2147483648 > 2147483647: false
|
-2147483648 > 2147483647: false
|
||||||
13725 > -2147483648: true
|
13725 > -2147483648: true
|
||||||
--Valuate() with excessive CPU usage--
|
--Valuate() with excessive CPU usage--
|
||||||
|
constructor failed with: excessive CPU usage in list filter function
|
||||||
Your script made an error: excessive CPU usage in valuator function
|
Your script made an error: excessive CPU usage in valuator function
|
||||||
|
|
||||||
*FUNCTION [unknown()] regression/main.nut line [2114]
|
*FUNCTION [Start()] regression/main.nut line [2120]
|
||||||
*FUNCTION [Valuate()] NATIVE line [-1]
|
|
||||||
*FUNCTION [Start()] regression/main.nut line [2115]
|
|
||||||
|
|
||||||
[id] 0
|
|
||||||
[this] TABLE
|
|
||||||
[Infinite] CLOSURE
|
|
||||||
[list] INSTANCE
|
|
||||||
[this] INSTANCE
|
|
||||||
Your script made an error: excessive CPU usage in valuator function
|
|
||||||
|
|
||||||
*FUNCTION [Start()] regression/main.nut line [2115]
|
|
||||||
|
|
||||||
[Infinite] CLOSURE
|
[Infinite] CLOSURE
|
||||||
[list] INSTANCE
|
[list] INSTANCE
|
||||||
|
|
|
@ -932,7 +932,7 @@ SQInteger ScriptList::Valuate(HSQUIRRELVM vm)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Call the function. Squirrel pops all parameters and pushes the return value. */
|
/* Call the function. Squirrel pops all parameters and pushes the return value. */
|
||||||
if (SQ_FAILED(sq_call(vm, nparam + 1, SQTrue, SQTrue))) {
|
if (SQ_FAILED(sq_call(vm, nparam + 1, SQTrue, SQFalse))) {
|
||||||
ScriptObject::SetAllowDoCommand(backup_allow);
|
ScriptObject::SetAllowDoCommand(backup_allow);
|
||||||
return SQ_ERROR;
|
return SQ_ERROR;
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,9 +111,9 @@ protected:
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Call the function. Squirrel pops all parameters and pushes the return value. */
|
/* Call the function. Squirrel pops all parameters and pushes the return value. */
|
||||||
if (SQ_FAILED(sq_call(vm, nparam + 1, SQTrue, SQTrue))) {
|
if (SQ_FAILED(sq_call(vm, nparam + 1, SQTrue, SQFalse))) {
|
||||||
ScriptObject::SetAllowDoCommand(backup_allow);
|
ScriptObject::SetAllowDoCommand(backup_allow);
|
||||||
throw sq_throwerror(vm, "failed to run filter");
|
throw static_cast<SQInteger>(SQ_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
SQBool add = SQFalse;
|
SQBool add = SQFalse;
|
||||||
|
|
Loading…
Reference in New Issue