diff options
author | hjk <hjk@qt.io> | 2017-02-22 09:15:45 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-02-23 10:04:32 +0000 |
commit | 4637b3fed7a456ec664ae9ba1de5c03b32aa12fd (patch) | |
tree | d5daec0ac9e08160197720cee3bb7d7229f0867f | |
parent | 311bed936ca8ab907de8b6609f685d95a56b188c (diff) | |
download | qt-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.cpp | 28 |
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() |