diff --git a/src/plugins/debugger/breakpoint.cpp b/src/plugins/debugger/breakpoint.cpp index 166bebd398ec2fc04524e9e2a6c91111dcda848b..981aed0ba4303826fc4fc081fbceb072f827e6bd 100644 --- a/src/plugins/debugger/breakpoint.cpp +++ b/src/plugins/debugger/breakpoint.cpp @@ -176,8 +176,6 @@ BreakpointData *BreakpointData::clone() const { BreakpointData *data = new BreakpointData(); data->m_handler = m_handler; - data->m_markerFileName = m_markerFileName; - data->m_markerLineNumber = m_markerLineNumber; data->enabled = enabled; data->type = type; data->fileName = fileName; @@ -188,6 +186,15 @@ BreakpointData *BreakpointData::clone() const data->threadSpec = threadSpec; data->funcName = funcName; data->useFullPath = useFullPath; + if (isSetByFunction()) { + // FIXME: Would removing it be better then leaving this + // "history" around? + data->m_markerFileName = m_markerFileName; + data->m_markerLineNumber = m_markerLineNumber; + } else { + data->m_markerFileName = fileName; + data->m_markerLineNumber = lineNumber.toInt(); + } return data; } diff --git a/src/plugins/debugger/breakpoint.h b/src/plugins/debugger/breakpoint.h index 98c569cdf6551c279fa4b7984450edbe94ac5fa8..7177c17142fc8b3ba792db908164428756f5abf0 100644 --- a/src/plugins/debugger/breakpoint.h +++ b/src/plugins/debugger/breakpoint.h @@ -112,6 +112,9 @@ public: void setMarkerLineNumber(int lineNumber); int markerLineNumber() const { return m_markerLineNumber; } + bool isSetByFunction() const { return !funcName.isEmpty(); } + bool isSetByFileAndLine() const { return !fileName.isEmpty(); } + private: // Taken from either user input or gdb responses. QString m_markerFileName; // Used to locate the marker. diff --git a/tests/manual/gdbdebugger/simple/app.cpp b/tests/manual/gdbdebugger/simple/app.cpp index b90b6b54e3f056fc3a32e2326a3b9ba25c7a86d7..939f34a4887de094dc861a68bea4deb3f26b57a7 100644 --- a/tests/manual/gdbdebugger/simple/app.cpp +++ b/tests/manual/gdbdebugger/simple/app.cpp @@ -1869,7 +1869,6 @@ int main(int argc, char *argv[]) //testWCout0(); //testWCout(); testColor(); - return 0; testQRegion(); testStuff(); testPeekAndPoke3(); @@ -1950,7 +1949,6 @@ int main(int argc, char *argv[]) testQObject(argc, argv); - //QColor color(255,128,10); //QFont font;