From 4637b3fed7a456ec664ae9ba1de5c03b32aa12fd Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 22 Feb 2017 09:15:45 +0100 Subject: Debugger: Don't crash if targets vanish if the last kit is deleted Task-number: QTCREATORBUG-17702 Change-Id: I42cc08cab67f57d749898f5b01925b7ef3658165 Reviewed-by: Eike Ziller Reviewed-by: Christian Stenger --- src/plugins/debugger/debuggerplugin.cpp | 28 +++++----------------------- 1 file 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() -- cgit v1.2.1