From 0ad1d429820aae65d1b69813bf354455de3a1669 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Wed, 8 Jun 2011 14:33:20 +1000 Subject: Create a copy of the imported script array handles This prevents the handles from being double Dispose()'d. --- src/declarative/qml/qdeclarativecomponent.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp index 5f40c393f9..c7e5bcbe12 100644 --- a/src/declarative/qml/qdeclarativecomponent.cpp +++ b/src/declarative/qml/qdeclarativecomponent.cpp @@ -889,8 +889,11 @@ QObject * QDeclarativeComponentPrivate::begin(QDeclarativeContextData *parentCon ctxt->imports = component->importCache; // Nested global imports - if (componentCreationContext && start != -1) + if (componentCreationContext && start != -1) { ctxt->importedScripts = componentCreationContext->importedScripts; + for (int ii = 0; ii < ctxt->importedScripts.count(); ++ii) + ctxt->importedScripts[ii] = qPersistentNew(ctxt->importedScripts[ii]); + } component->importCache->addref(); ctxt->setParent(parentContext); -- cgit v1.2.3