diff options
author | Eike Ziller <eike.ziller@qt.io> | 2018-11-06 09:20:00 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2018-11-06 09:20:00 +0100 |
commit | 1473bc5891cc06ff7f0a431fe0212b4321e266de (patch) | |
tree | 188c5862ef56c1ee7b06439b5423ea650dfc125a /src/plugins/debugger/enginemanager.cpp | |
parent | 9d296cf1f12e95f55f25a8ca11608df29b11dfce (diff) | |
parent | e18cbad28592eb911b8c82b7f71b8ee0382a19f9 (diff) |
Merge remote-tracking branch 'origin/4.8'
Conflicts:
src/plugins/debugger/debuggermainwindow.cpp
src/plugins/qbsprojectmanager/qbsbuildstep.cpp
src/plugins/winrt/winrtdevicefactory.cpp
tests/unit/unittest/gtest-creator-printing.cpp
tests/unit/unittest/gtest-creator-printing.h
tests/unit/unittest/unittest.pro
Change-Id: Ie9b80b87a8a4fa81baf72a2daa7919b21371c15e
Diffstat (limited to 'src/plugins/debugger/enginemanager.cpp')
-rw-r--r-- | src/plugins/debugger/enginemanager.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/plugins/debugger/enginemanager.cpp b/src/plugins/debugger/enginemanager.cpp index 4ea21bf99a0..8e829c7cfb0 100644 --- a/src/plugins/debugger/enginemanager.cpp +++ b/src/plugins/debugger/enginemanager.cpp @@ -278,11 +278,11 @@ bool EngineItem::setData(int row, const QVariant &value, int role) auto menu = new QMenu(ev.view()); - QAction *actCreate = menu->addAction(tr("Create Snapshot")); + QAction *actCreate = menu->addAction(EngineManager::tr("Create Snapshot")); actCreate->setEnabled(m_engine->hasCapability(SnapshotCapabilityRole)); menu->addSeparator(); - QAction *actRemove = menu->addAction(tr("Abort Debugger")); + QAction *actRemove = menu->addAction(EngineManager::tr("Abort Debugger")); actRemove->setEnabled(true); QAction *act = menu->exec(cmev->globalPos()); @@ -315,23 +315,30 @@ void EngineManagerPrivate::activateEngineByIndex(int index) void EngineManagerPrivate::activateEngineItem(EngineItem *engineItem) { + Context previousContext; if (m_currentItem) { if (DebuggerEngine *engine = m_currentItem->m_engine) { - const Context context = engine->languageContext(); - ICore::removeAdditionalContext(context); + previousContext.add(engine->languageContext()); + previousContext.add(engine->debuggerContext()); + } else { + previousContext.add(Context(Constants::C_DEBUGGER_NOTRUNNING)); } } m_currentItem = engineItem; + Context newContext; if (m_currentItem) { if (DebuggerEngine *engine = m_currentItem->m_engine) { - const Context context = engine->languageContext(); - ICore::addAdditionalContext(context); + newContext.add(engine->languageContext()); + newContext.add(engine->debuggerContext()); engine->gotoCurrentLocation(); + } else { + newContext.add(Context(Constants::C_DEBUGGER_NOTRUNNING)); } } + ICore::updateAdditionalContexts(previousContext, newContext); selectUiForCurrentEngine(); } @@ -344,13 +351,8 @@ void EngineManagerPrivate::selectUiForCurrentEngine() int row = 0; if (m_currentItem && m_currentItem->m_engine) { - ICore::updateAdditionalContexts(Context(Debugger::Constants::C_DEBUGGER_NOTRUNNING), - Context(Debugger::Constants::C_DEBUGGER_RUNNING)); perspective = m_currentItem->m_engine->perspective(); m_currentItem->m_engine->updateState(false); - } else { - ICore::updateAdditionalContexts(Context(Debugger::Constants::C_DEBUGGER_RUNNING), - Context(Debugger::Constants::C_DEBUGGER_NOTRUNNING)); } if (m_currentItem) |