Fix initializing static array in class definition

issue #32
dev-time-step
melex750 2016-04-05 14:00:15 -04:00
parent 09a586936b
commit 61440392d2
1 changed files with 9 additions and 2 deletions

View File

@ -739,8 +739,15 @@ bool CBotClass::CompileDefItem(CBotToken* &p, CBotCStack* pStack, bool bSecond)
if ( pv->IsStatic() && pv->m_InitExpr != nullptr )
{
CBotStack* pile = CBotStack::AllocateStack(); // independent stack
while(pile->IsOk() && !pv->m_InitExpr->Execute(pile)); // evaluates the expression without timer
pv->SetVal( pile->GetVar() ) ;
if ( type2.Eq(CBotTypArrayPointer) )
{
while(pile->IsOk() && !pv->m_InitExpr->Execute(pile, pv));
}
else
{
while(pile->IsOk() && !pv->m_InitExpr->Execute(pile)); // evaluates the expression without timer
pv->SetVal( pile->GetVar() ) ;
}
pile->Delete();
}
}