summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2017-02-22 09:15:45 +0100
committerhjk <hjk@qt.io>2017-02-23 10:04:32 +0000
commit4637b3fed7a456ec664ae9ba1de5c03b32aa12fd (patch)
treed5daec0ac9e08160197720cee3bb7d7229f0867f
parent311bed936ca8ab907de8b6609f685d95a56b188c (diff)
downloadqt-creator-4637b3fed7a456ec664ae9ba1de5c03b32aa12fd.tar.gz
Debugger: Don't crash if targets vanish if the last kit is deleted
Task-number: QTCREATORBUG-17702 Change-Id: I42cc08cab67f57d749898f5b01925b7ef3658165 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp28
1 files changed, 5 insertions, 23 deletions
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 7d846abde5..2d4aeef955 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -963,7 +963,6 @@ public:
void updateUiForProject(ProjectExplorer::Project *project);
void updateUiForTarget(ProjectExplorer::Target *target);
- void updateUiForRunConfiguration(ProjectExplorer::RunConfiguration *rc);
void updateActiveLanguages();
public:
@@ -3332,12 +3331,11 @@ void DebuggerPluginPrivate::updateUiForProject(Project *project)
}
m_previousProject = project;
if (!project) {
- updateUiForTarget(0);
+ updateUiForTarget(nullptr);
return;
}
connect(project, &Project::activeTargetChanged,
- this, &DebuggerPluginPrivate::updateUiForTarget,
- Qt::QueuedConnection);
+ this, &DebuggerPluginPrivate::updateUiForTarget);
updateUiForTarget(project->activeTarget());
}
@@ -3345,35 +3343,19 @@ void DebuggerPluginPrivate::updateUiForTarget(Target *target)
{
if (m_previousTarget) {
disconnect(m_previousTarget.data(), &Target::activeRunConfigurationChanged,
- this, &DebuggerPluginPrivate::updateUiForRunConfiguration);
+ this, &DebuggerPluginPrivate::updateActiveLanguages);
}
m_previousTarget = target;
if (!target) {
- updateUiForRunConfiguration(0);
+ updateActiveLanguages();
return;
}
connect(target, &Target::activeRunConfigurationChanged,
- this, &DebuggerPluginPrivate::updateUiForRunConfiguration,
- Qt::QueuedConnection);
- updateUiForRunConfiguration(target->activeRunConfiguration());
-}
-
-// updates default debug language settings per run config.
-void DebuggerPluginPrivate::updateUiForRunConfiguration(RunConfiguration *rc)
-{
-// if (m_previousRunConfiguration)
-// disconnect(m_previousRunConfiguration, &RunConfiguration::requestRunActionsUpdate,
-// this, &DebuggerPluginPrivate::updateActiveLanguages);
-// m_previousRunConfiguration = rc;
- Q_UNUSED(rc); // FIXME
+ this, &DebuggerPluginPrivate::updateActiveLanguages);
updateActiveLanguages();
-// if (m_previousRunConfiguration)
-// connect(m_previousRunConfiguration, &RunConfiguration::requestRunActionsUpdate,
-// this, &DebuggerPluginPrivate::updateActiveLanguages,
-// Qt::QueuedConnection);
}
void DebuggerPluginPrivate::updateActiveLanguages()