зеркало из https://github.com/mozilla/pjs.git
couple bug fixes, fix memory leaks, table scope
This commit is contained in:
Родитель
2bbff774b0
Коммит
e5a06f027c
|
@ -342,7 +342,8 @@ morkBuilder::OnNewTable(morkEnv* ev, const morkPlace& inPlace,
|
||||||
|
|
||||||
morkTable* table = mBuilder_Store->MidToTable(ev, inMid);
|
morkTable* table = mBuilder_Store->MidToTable(ev, inMid);
|
||||||
morkTable::SlotStrongTable(table, ev, &mBuilder_Table);
|
morkTable::SlotStrongTable(table, ev, &mBuilder_Table);
|
||||||
}
|
if ( table && table->mTable_RowSpace )
|
||||||
|
mBuilder_TableRowScope = table->mTable_RowSpace->mSpace_Scope;}
|
||||||
|
|
||||||
/*virtual*/ void
|
/*virtual*/ void
|
||||||
morkBuilder::OnTableGlitch(morkEnv* ev, const morkGlitch& inGlitch)
|
morkBuilder::OnTableGlitch(morkEnv* ev, const morkGlitch& inGlitch)
|
||||||
|
|
|
@ -290,7 +290,7 @@ morkTable::AddRow(morkEnv* ev, morkRow* ioRow)
|
||||||
if ( !row && ev->Good() )
|
if ( !row && ev->Good() )
|
||||||
{
|
{
|
||||||
mork_pos pos = mTable_RowArray.AppendSlot(ev, ioRow);
|
mork_pos pos = mTable_RowArray.AppendSlot(ev, ioRow);
|
||||||
if ( ev->Good() && pos > 0 )
|
if ( ev->Good() && pos >= 0 )
|
||||||
{
|
{
|
||||||
ioRow->AddTableUse(ev);
|
ioRow->AddTableUse(ev);
|
||||||
if ( mTable_RowMap.AddRow(ev, ioRow) )
|
if ( mTable_RowMap.AddRow(ev, ioRow) )
|
||||||
|
|
|
@ -342,7 +342,8 @@ morkBuilder::OnNewTable(morkEnv* ev, const morkPlace& inPlace,
|
||||||
|
|
||||||
morkTable* table = mBuilder_Store->MidToTable(ev, inMid);
|
morkTable* table = mBuilder_Store->MidToTable(ev, inMid);
|
||||||
morkTable::SlotStrongTable(table, ev, &mBuilder_Table);
|
morkTable::SlotStrongTable(table, ev, &mBuilder_Table);
|
||||||
}
|
if ( table && table->mTable_RowSpace )
|
||||||
|
mBuilder_TableRowScope = table->mTable_RowSpace->mSpace_Scope;}
|
||||||
|
|
||||||
/*virtual*/ void
|
/*virtual*/ void
|
||||||
morkBuilder::OnTableGlitch(morkEnv* ev, const morkGlitch& inGlitch)
|
morkBuilder::OnTableGlitch(morkEnv* ev, const morkGlitch& inGlitch)
|
||||||
|
|
|
@ -290,7 +290,7 @@ morkTable::AddRow(morkEnv* ev, morkRow* ioRow)
|
||||||
if ( !row && ev->Good() )
|
if ( !row && ev->Good() )
|
||||||
{
|
{
|
||||||
mork_pos pos = mTable_RowArray.AppendSlot(ev, ioRow);
|
mork_pos pos = mTable_RowArray.AppendSlot(ev, ioRow);
|
||||||
if ( ev->Good() && pos > 0 )
|
if ( ev->Good() && pos >= 0 )
|
||||||
{
|
{
|
||||||
ioRow->AddTableUse(ev);
|
ioRow->AddTableUse(ev);
|
||||||
if ( mTable_RowMap.AddRow(ev, ioRow) )
|
if ( mTable_RowMap.AddRow(ev, ioRow) )
|
||||||
|
|
Загрузка…
Ссылка в новой задаче