mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r15659) -Fix [Squirrel]: The garbage collection would sometimes loop (2^32 - small_value) times instead of only small_value times.
This commit is contained in:
parent
1ff06b3f9c
commit
01167ea456
|
@ -189,6 +189,7 @@ SQSharedState::~SQSharedState()
|
|||
SQCollectable *t = _gc_chain;
|
||||
SQCollectable *nx = NULL;
|
||||
while(t) {
|
||||
t->UnMark();
|
||||
t->_uiRef++;
|
||||
t->Finalize();
|
||||
nx = t->_next;
|
||||
|
@ -198,7 +199,7 @@ SQSharedState::~SQSharedState()
|
|||
}
|
||||
// assert(_gc_chain==NULL); //just to proove a theory
|
||||
while(_gc_chain){
|
||||
_gc_chain->_uiRef++;
|
||||
_gc_chain->_uiRef--;
|
||||
_gc_chain->Release();
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue