QmlProject: Do not crash on project creation

Task-number: QTCREATORBUG-22244
Change-Id: I38c6527269ba553c0e4734c437f5a6918da729a3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
This commit is contained in:
hjk
2019-04-05 16:45:53 +02:00
parent 2430168322
commit d34eb692fe

View File

@@ -281,7 +281,7 @@ QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id)
{ {
auto envAspect = addAspect<EnvironmentAspect>(); auto envAspect = addAspect<EnvironmentAspect>();
auto envModifier = [&](Environment env) { auto envModifier = [target](Environment env) {
if (auto project = qobject_cast<const QmlProject *>(target->project())) if (auto project = qobject_cast<const QmlProject *>(target->project()))
env.modify(project->environment()); env.modify(project->environment());
return env; return env;
@@ -289,12 +289,12 @@ QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id)
const Id deviceTypeId = DeviceTypeKitAspect::deviceTypeId(target->kit()); const Id deviceTypeId = DeviceTypeKitAspect::deviceTypeId(target->kit());
if (deviceTypeId == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) { if (deviceTypeId == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) {
envAspect->addPreferredBaseEnvironment(tr("System Environment"), [&] { envAspect->addPreferredBaseEnvironment(tr("System Environment"), [envModifier] {
return envModifier(Environment::systemEnvironment()); return envModifier(Environment::systemEnvironment());
}); });
} }
envAspect->addSupportedBaseEnvironment(tr("Clean Environment"), [&] { envAspect->addSupportedBaseEnvironment(tr("Clean Environment"), [envModifier] {
return envModifier(Environment()); return envModifier(Environment());
}); });