diff options
author | hjk <qtc-committer@nokia.com> | 2011-11-04 14:03:48 +0100 |
---|---|---|
committer | hjk <qthjk@ovi.com> | 2011-11-04 16:32:50 +0100 |
commit | ccfc4e032a67267e85325882c52912224258a3f0 (patch) | |
tree | 306967f9cd071e3b5ed57fee060087643c92d82b /src/plugins/debugger/breakhandler.cpp | |
parent | b0ca56109ec152d6316cc6a5cf8f3600ed555f07 (diff) | |
download | qt-creator-ccfc4e032a67267e85325882c52912224258a3f0.tar.gz |
debugger: fix manual changing of breakpoint line numbers
Task-number: QTCREATORBUG-6178
Change-Id: I3e0a3cae0ee5df02ad8ceee7222bc667e61774c8
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src/plugins/debugger/breakhandler.cpp')
-rw-r--r-- | src/plugins/debugger/breakhandler.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 09bf49427c..aea7377e86 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -1230,7 +1230,6 @@ void BreakHandler::gotoLocation(BreakpointModelId id) const void BreakHandler::updateLineNumberFromMarker(BreakpointModelId id, int lineNumber) { Iterator it = m_storage.find(id); - it->response.pending = false; BREAK_ASSERT(it != m_storage.end(), return); // Ignore updates to the "real" line number while the debugger is // running, as this can be triggered by moving the breakpoint to @@ -1241,10 +1240,6 @@ void BreakHandler::updateLineNumberFromMarker(BreakpointModelId id, int lineNumb it->data.lineNumber += lineNumber - it->response.lineNumber; else it->data.lineNumber = lineNumber; - if (it->response.lineNumber != lineNumber) { - // FIXME: Should we tell gdb about the change? - it->response.lineNumber = lineNumber; - } it->updateMarker(id); emit layoutChanged(); } @@ -1335,11 +1330,10 @@ void BreakHandler::changeBreakpointData(BreakpointModelId id, if (data == it->data) return; it->data = data; - if (parts == NoParts) { - it->destroyMarker(); - it->updateMarker(id); - layoutChanged(); - } else if (it->needsChange() && it->engine && it->state != BreakpointNew) { + it->destroyMarker(); + it->updateMarker(id); + layoutChanged(); + if (it->needsChange() && it->engine && it->state != BreakpointNew) { setState(id, BreakpointChangeRequested); scheduleSynchronization(); } @@ -1411,6 +1405,8 @@ bool BreakHandler::BreakpointItem::needsChange() const return true; if (data.command != response.command) return true; + if (data.lineNumber != response.lineNumber) + return true; return false; } |