diff options
-rw-r--r-- | src/libs/installer/component.cpp | 4 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore.cpp | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp index a4a16eb44..0ff4d07d6 100644 --- a/src/libs/installer/component.cpp +++ b/src/libs/installer/component.cpp @@ -487,8 +487,10 @@ void Component::loadComponentScript(const QString &fileName) { ScriptEngine *scriptEngine = d->m_core->scriptEngine(); + // introduce the component object as javascript value and call the name to check that it + // was successful QString scriptInjection(QString::fromLatin1( - "var component = installer.componentByName('%1');").arg(name())); + "var component = installer.componentByName('%1'); component.name;").arg(name())); d->m_scriptContext = scriptEngine->loadInConext(QLatin1String("Component"), fileName, scriptInjection); diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp index 1ab7d0909..99e3087e7 100644 --- a/src/libs/installer/packagemanagercore.cpp +++ b/src/libs/installer/packagemanagercore.cpp @@ -2222,14 +2222,18 @@ bool PackageManagerCore::fetchUpdaterPackages(const PackagesList &remotes, const try { if (!components.isEmpty()) { - // load the scripts and append all components w/o parent to the direct list + // append all components w/o parent to the direct list + foreach (QInstaller::Component *component, components) { + appendUpdaterComponent(component); + } + + // after everything is set up, load the scripts foreach (QInstaller::Component *component, components) { if (d->statusCanceledOrFailed()) return false; component->loadComponentScript(); component->setCheckState(Qt::Checked); - appendUpdaterComponent(component); } // after everything is set up, check installed components |