return false;
}
+bool BreakHandler::isEngineRunning(BreakpointId id) const
+{
+ if (const DebuggerEngine *e = engine(id)) {
+ const DebuggerState state = e->state();
+ return state != DebuggerFinished && state != DebuggerNotReady;
+ }
+ return false;
+}
+
void BreakHandler::setState(BreakpointId id, BreakpointState state)
{
Iterator it = m_storage.find(id);
// Ignore updates to the "real" line number while the debugger is
// running, as this can be triggered by moving the breakpoint to
// the next line that generated code.
- if (it->response.number == 0) {
- // FIXME: Do we need yet another data member?
+ if (!isEngineRunning(id))
it->data.lineNumber = lineNumber;
- }
updateMarker(id);
emit layoutChanged();
}
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
Qt::ItemFlags flags(const QModelIndex &index) const;
+ bool isEngineRunning(BreakpointId id) const;
void setState(BreakpointId id, BreakpointState state);
void loadBreakpoints();
void saveBreakpoints();