diff options
-rw-r--r-- | src/libs/installer/componentchecker.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libs/installer/componentchecker.cpp b/src/libs/installer/componentchecker.cpp index 949ae00cf..ee13664ee 100644 --- a/src/libs/installer/componentchecker.cpp +++ b/src/libs/installer/componentchecker.cpp @@ -42,8 +42,13 @@ namespace QInstaller { QStringList ComponentChecker::checkComponent(Component *component) { - PackageManagerCore *core = component->packageManagerCore(); QStringList checkResult; + if (!component) + return checkResult; + + PackageManagerCore *core = component->packageManagerCore(); + if (!core) + return checkResult; const bool defaultPropertyScriptValue = component->variables().value(scDefault).compare(scScript, Qt::CaseInsensitive) == 0; const bool defaultPropertyValue = component->variables().value(scDefault).compare(scTrue, Qt::CaseInsensitive) == 0; @@ -74,7 +79,7 @@ QStringList ComponentChecker::checkComponent(Component *component) foreach (const QString &dependency, dependencies) { Component *dependencyComponent = PackageManagerCore::componentByName( dependency, allComponents); - if (autoDependencies.contains(dependencyComponent->name())) { + if (dependencyComponent && autoDependencies.contains(dependencyComponent->name())) { checkResult << QString::fromLatin1("Component %1 specifies both dependency " "and auto dependency on component %2. The dependency might be superfluous.") .arg(component->name(), dependencyComponent->name()); |