1
0
Fork 0

Fix: [Script] Access to enum/consts defined outside of main.nut (#10573)

pull/10628/head
Loïc Guilloux 2023-03-25 23:07:47 +01:00 committed by rubidium42
parent 261d674866
commit 86beadc00b
1 changed files with 10 additions and 0 deletions

View File

@ -566,6 +566,10 @@ void Squirrel::Initialize()
sq_pushroottable(this->vm);
squirrel_register_global_std(this);
/* Set consts table as delegate of root table, so consts/enums defined via require() are accessible */
sq_pushconsttable(this->vm);
sq_setdelegate(this->vm, -2);
}
class SQFile {
@ -764,6 +768,12 @@ void Squirrel::Uninitialize()
{
ScriptAllocatorScope alloc_scope(this);
/* Remove the delegation */
sq_pushroottable(this->vm);
sq_pushnull(this->vm);
sq_setdelegate(this->vm, -2);
sq_pop(this->vm, 1);
/* Clean up the stuff */
sq_pop(this->vm, 1);
sq_close(this->vm);