QScriptEngine: Fix reentrency involving creation and desctructions of QScriptEngines
authorOlivier Goffart <ogoffart@trolltech.com>
Mon, 29 Mar 2010 15:36:02 +0000 (17:36 +0200)
committerOlivier Goffart <ogoffart@trolltech.com>
Mon, 29 Mar 2010 17:14:59 +0000 (19:14 +0200)
commit3e5745ea75d73869918889cb374c3d651bed0991
treea67c644259d542131353a3ed68f83b32d3d3fb1c
parent9e3304246acf5b58a2ce86eed082784da818a8f0
QScriptEngine: Fix reentrency involving creation and desctructions of QScriptEngines

the currentIdentifierTable table, which is a static thread local variable, could be corrupted.

The main change is to fix the QScriptEngine constructor not to alter the currentIdentifierTable

This showed a lot of cases where APIShim guards where missings.

The problem was seen with creator, related to QTBUG-9426

Reviewed-by: Jedrzej Nowacki
src/script/api/qscriptengine.cpp
src/script/api/qscriptvalue.cpp
src/script/api/qscriptvalueiterator.cpp
tests/auto/qscriptengine/tst_qscriptengine.cpp