From 43c04ac80b44b4b2da6890c1ada5f9c6cfc817bf Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 8 Sep 2017 12:02:17 +0200 Subject: [PATCH] BuildSteps: Fix a number of crashes Fix crashes due to activeProjectConfigurationChanged signal sending a nullptr. Uses the same fix as QTCREATORBUG-18865, but in more places:-) Task-number: QTCREATORBUG-18866 Change-Id: Ic71af5ed26b2a44339f0c687f3f46bfdf62c2489 Reviewed-by: Tim Jenssen --- src/plugins/autotoolsprojectmanager/makestep.cpp | 2 +- src/plugins/genericprojectmanager/genericmakestep.cpp | 2 +- src/plugins/ios/iosbuildstep.cpp | 2 +- src/plugins/ios/iosdsymbuildstep.cpp | 2 +- src/plugins/qbsprojectmanager/qbsproject.cpp | 2 +- src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/autotoolsprojectmanager/makestep.cpp b/src/plugins/autotoolsprojectmanager/makestep.cpp index 84ebec917ac..3fb0ec41053 100644 --- a/src/plugins/autotoolsprojectmanager/makestep.cpp +++ b/src/plugins/autotoolsprojectmanager/makestep.cpp @@ -242,7 +242,7 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep) : }); connect(makeStep->project(), &Project::activeProjectConfigurationChanged, this, [this](ProjectConfiguration *pc) { - if (pc->isActive()) + if (pc && pc->isActive()) updateDetails(); }); } diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp index 082be2dd141..be9f30854de 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.cpp +++ b/src/plugins/genericprojectmanager/genericmakestep.cpp @@ -258,7 +258,7 @@ GenericMakeStepConfigWidget::GenericMakeStepConfigWidget(GenericMakeStep *makeSt }); connect(pro, &Project::activeProjectConfigurationChanged, this, [this](ProjectConfiguration *pc) { - if (pc->isActive()) { + if (pc && pc->isActive()) { updateMakeOverrideLabel(); updateDetails(); } diff --git a/src/plugins/ios/iosbuildstep.cpp b/src/plugins/ios/iosbuildstep.cpp index 9d5149e89aa..c088b1ede48 100644 --- a/src/plugins/ios/iosbuildstep.cpp +++ b/src/plugins/ios/iosbuildstep.cpp @@ -266,7 +266,7 @@ IosBuildStepConfigWidget::IosBuildStepConfigWidget(IosBuildStep *buildStep) }); connect(pro, &Project::activeProjectConfigurationChanged, this, [this](ProjectConfiguration *pc) { - if (pc->isActive()) + if (pc && pc->isActive()) updateDetails(); }); } diff --git a/src/plugins/ios/iosdsymbuildstep.cpp b/src/plugins/ios/iosdsymbuildstep.cpp index 2e93c401dfb..3d876621e9f 100644 --- a/src/plugins/ios/iosdsymbuildstep.cpp +++ b/src/plugins/ios/iosdsymbuildstep.cpp @@ -266,7 +266,7 @@ IosPresetBuildStepConfigWidget::IosPresetBuildStepConfigWidget(IosPresetBuildSte }); connect(pro, &Project::activeProjectConfigurationChanged, this, [this](ProjectConfiguration *pc) { - if (pc->isActive()) + if (pc && pc->isActive()) updateDetails(); }); } diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 1d81c013ade..11e035a0e73 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -146,7 +146,7 @@ QbsProject::QbsProject(const FileName &fileName) : }); connect(this, &Project::activeProjectConfigurationChanged, this, [this](ProjectConfiguration *pc) { - if (pc->isActive()) + if (pc && pc->isActive()) startParsing(); }); diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp index 9bf3dee51d0..4d62b470754 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp @@ -104,7 +104,7 @@ QmakeProjectConfigWidget::QmakeProjectConfigWidget(QmakeBuildConfiguration *bc) }); connect(project, &Project::activeProjectConfigurationChanged, this, [this](ProjectConfiguration *pc) { - if (pc->isActive()) + if (pc && pc->isActive()) environmentChanged(); }); connect(project, &QmakeProject::buildDirectoryInitialized,