summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/component.cpp4
-rw-r--r--src/libs/installer/packagemanagercore.cpp8
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