diff options
author | Morten Engvoldsen <morten.engvoldsen@nokia.com> | 2011-02-23 20:32:21 (GMT) |
---|---|---|
committer | Morten Engvoldsen <morten.engvoldsen@nokia.com> | 2011-02-23 20:32:21 (GMT) |
commit | c881e33e7e510204fabd061dac08a00b10b432fb (patch) | |
tree | b5a5210eef8d309a17aca7d20b457879b584913f /src/script/api/qscriptengine.cpp | |
parent | 309c48a70b46678ef92da441fcc2dc96ceb8fcf3 (diff) | |
parent | 3c982b5d214cc7a37ace1d956ac8fb0b9a281722 (diff) | |
download | Qt-c881e33e7e510204fabd061dac08a00b10b432fb.zip Qt-c881e33e7e510204fabd061dac08a00b10b432fb.tar.gz Qt-c881e33e7e510204fabd061dac08a00b10b432fb.tar.bz2 |
Merge branch '4.7' into mimir
Diffstat (limited to 'src/script/api/qscriptengine.cpp')
-rw-r--r-- | src/script/api/qscriptengine.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 128e9c3..54039c0 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -1022,6 +1022,7 @@ QScriptEnginePrivate::~QScriptEnginePrivate() while (!ownedAgents.isEmpty()) delete ownedAgents.takeFirst(); + detachAllRegisteredScriptPrograms(); detachAllRegisteredScriptValues(); detachAllRegisteredScriptStrings(); qDeleteAll(m_qobjectData); @@ -1576,6 +1577,14 @@ bool QScriptEnginePrivate::scriptDisconnect(JSC::JSValue signal, JSC::JSValue re #endif +void QScriptEnginePrivate::detachAllRegisteredScriptPrograms() +{ + QSet<QScriptProgramPrivate*>::const_iterator it; + for (it = registeredScriptPrograms.constBegin(); it != registeredScriptPrograms.constEnd(); ++it) + (*it)->detachFromEngine(); + registeredScriptPrograms.clear(); +} + void QScriptEnginePrivate::detachAllRegisteredScriptValues() { QScriptValuePrivate *it; |