forked from qt-creator/qt-creator
debugger: switch off reverse debugging tool button if not useful
This commit is contained in:
@@ -1113,8 +1113,11 @@ void DebuggerManager::startNewDebugger(const DebuggerStartParametersPtr &sp)
|
|||||||
const unsigned engineCapabilities = d->m_engine->debuggerCapabilities();
|
const unsigned engineCapabilities = d->m_engine->debuggerCapabilities();
|
||||||
theDebuggerAction(OperateByInstruction)
|
theDebuggerAction(OperateByInstruction)
|
||||||
->setEnabled(engineCapabilities & DisassemblerCapability);
|
->setEnabled(engineCapabilities & DisassemblerCapability);
|
||||||
d->m_actions.reverseDirectionAction
|
|
||||||
->setEnabled(engineCapabilities & ReverseSteppingCapability);
|
const bool canReverse = (engineCapabilities & ReverseSteppingCapability)
|
||||||
|
&& theDebuggerBoolSetting(EnableReverseDebugging);
|
||||||
|
d->m_actions.reverseDirectionAction->setChecked(false);
|
||||||
|
d->m_actions.reverseDirectionAction->setEnabled(canReverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebuggerManager::startFailed()
|
void DebuggerManager::startFailed()
|
||||||
@@ -1136,6 +1139,7 @@ void DebuggerManager::cleanupViews()
|
|||||||
d->m_sourceFilesWindow->removeAll();
|
d->m_sourceFilesWindow->removeAll();
|
||||||
d->m_disassemblerViewAgent.cleanup();
|
d->m_disassemblerViewAgent.cleanup();
|
||||||
d->m_actions.reverseDirectionAction->setChecked(false);
|
d->m_actions.reverseDirectionAction->setChecked(false);
|
||||||
|
d->m_actions.reverseDirectionAction->setEnabled(false);
|
||||||
|
|
||||||
// FIXME: Move to plugin?
|
// FIXME: Move to plugin?
|
||||||
using namespace Core;
|
using namespace Core;
|
||||||
|
|||||||
@@ -1506,8 +1506,8 @@ void DebuggerPlugin::enableReverseDebuggingTriggered(const QVariant &value)
|
|||||||
{
|
{
|
||||||
QTC_ASSERT(m_reverseToolButton, return);
|
QTC_ASSERT(m_reverseToolButton, return);
|
||||||
m_reverseToolButton->setVisible(value.toBool());
|
m_reverseToolButton->setVisible(value.toBool());
|
||||||
if (!value.toBool())
|
m_manager->debuggerManagerActions().reverseDirectionAction->setChecked(false);
|
||||||
m_manager->debuggerManagerActions().reverseDirectionAction->setChecked(false);
|
m_manager->debuggerManagerActions().reverseDirectionAction->setEnabled(value.toBool());
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebuggerPlugin::toggleBreakpoint()
|
void DebuggerPlugin::toggleBreakpoint()
|
||||||
|
|||||||
Reference in New Issue
Block a user