diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp index 571a1ee8357bd7e808d81525acba1bce07af4eeb..d3c6daa241af60f6ccdd245fa7a2d545a861fea8 100644 --- a/src/plugins/analyzerbase/analyzermanager.cpp +++ b/src/plugins/analyzerbase/analyzermanager.cpp @@ -553,7 +553,16 @@ void AnalyzerManagerPrivate::startTool() void AnalyzerManagerPrivate::modeChanged(IMode *mode) { - m_mainWindow->setDockActionsVisible(mode == m_mode); + if (mode && mode == m_mode) { + m_mainWindow->setDockActionsVisible(true); + static bool firstTime = true; + if (firstTime) + selectSavedTool(); + firstTime = false; + updateRunActions(); + } else { + m_mainWindow->setDockActionsVisible(false); + } } QAction *AnalyzerManagerPrivate::actionFromToolAndMode(IAnalyzerTool *tool, StartMode mode) @@ -781,7 +790,6 @@ void AnalyzerManager::extensionsInitialized() foreach (IAnalyzerTool *tool, d->m_tools) tool->extensionsInitialized(); - d->selectSavedTool(); } void AnalyzerManager::shutdown()