Don't leak ScopeChainNode's
Create a sub-scope of the global scope chain, rather than a completely new scope
chain. Leaks are difficult to autotest, but an autotest for
QScriptDeclarativeClass::pushCleanContext() was added to ensure its behavior doesn't
regress. To reproduce the leak (prior to this change) use:
while (true) {
QScriptDeclarativeClass::pushCleanContext(&engine);
engine.popContext();
}
Change-Id: I41ac61ea1664da569eb329c8276f2a0bb6d2f1f7
Task-number: QTBUG-17166
Reviewed-by: Martin Jones
(cherry picked from commit
3bc6f8d8dd630cd0298e27fc4b7430d2bf73a232)
Conflicts:
tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp