From 1df029de1d92895e8a28605fc84e7047e2e9b8af Mon Sep 17 00:00:00 2001 From: yexo Date: Sun, 7 Jun 2009 20:20:22 +0000 Subject: (svn r16534) -Fix [Squirrel] [FS#2942]: fix crash that occured when an AI was halted while one or more generators were still in a 'running' state --- src/3rdparty/squirrel/squirrel/sqstate.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/3rdparty') diff --git a/src/3rdparty/squirrel/squirrel/sqstate.cpp b/src/3rdparty/squirrel/squirrel/sqstate.cpp index 52cea8a4c..c8747572d 100644 --- a/src/3rdparty/squirrel/squirrel/sqstate.cpp +++ b/src/3rdparty/squirrel/squirrel/sqstate.cpp @@ -189,8 +189,12 @@ SQSharedState::~SQSharedState() SQCollectable *t = _gc_chain; SQCollectable *nx = NULL; while(t) { - t->UnMark(); t->_uiRef++; + t = t->_next; + } + t = _gc_chain; + while(t) { + t->UnMark(); t->Finalize(); nx = t->_next; if(--t->_uiRef == 0) -- cgit v1.2.3-54-g00ecf