Commit 15fc9396b5065fd8146f7c3415bbd2ccb9d70091

  • avatar
  • hjk <qtc-committer @no…a.com>
  • Wed Sep 08 09:54:40 CEST 2010
debugger: allow breakpoint removal also at the original position, not the "acknolegdged" one

Task-number: QTCREATORBUG-2264
  
571571 updateMarkers();
572572}
573573
574BreakpointData *BreakHandler::findBreakpoint(const QString &fileName, int lineNumber)
574BreakpointData *BreakHandler::findBreakpoint(const QString &fileName,
575 int lineNumber, bool useMarkerPosition)
575576{
576577 foreach (BreakpointData *data, m_bp)
577 if (data->isLocatedAt(fileName, lineNumber))
578 if (data->isLocatedAt(fileName, lineNumber, useMarkerPosition))
578579 return data;
579580 return 0;
580581}
581582
582583void BreakHandler::toggleBreakpoint(const QString &fileName, int lineNumber)
583584{
584 BreakpointData *data = findBreakpoint(fileName, lineNumber);
585 BreakpointData *data = findBreakpoint(fileName, lineNumber, true);
586 if (!data)
587 data = findBreakpoint(fileName, lineNumber, false);
585588 if (data) {
586589 removeBreakpoint(data);
587590 } else {
  
9393 void storeToTemplate(BreakHandler *other);
9494 void toggleBreakpoint(const QString &fileName, int lineNumber);
9595 void toggleBreakpointEnabled(const QString &fileName, int lineNumber);
96 BreakpointData *findBreakpoint(const QString &fileName, int lineNumber);
96 BreakpointData *findBreakpoint(const QString &fileName, int lineNumber,
97 bool useMarkerPosition = true);
9798
9899public slots:
99100 void appendBreakpoint(BreakpointData *data);
  
304304 return rc;
305305}
306306
307bool BreakpointData::isLocatedAt(const QString &fileName_, int lineNumber_) const
307bool BreakpointData::isLocatedAt(const QString &fileName_, int lineNumber_,
308 bool useMarkerPosition) const
308309{
309 /*
310 if (lineNumber != QString::number(lineNumber_))
311 return false;
312 if (fileName == fileName_)
313 return true;
314 if (fileName_.endsWith(fileName))
315 return true;
316 return false;
317 */
318 return lineNumber_ == m_markerLineNumber
319 && fileNameMatch(fileName_, m_markerFileName);
310 int line = useMarkerPosition ? m_markerLineNumber : lineNumber.toInt();
311 return lineNumber_ == line && fileNameMatch(fileName_, m_markerFileName);
320312}
321313
322314bool BreakpointData::isSimilarTo(const BreakpointData *needle) const
  
5858 QString toString() const;
5959 BreakHandler *handler() { return m_handler; }
6060
61 bool isLocatedAt(const QString &fileName, int lineNumber) const;
61 bool isLocatedAt(const QString &fileName, int lineNumber,
62 bool useMarkerPosition) const;
6263 bool isSimilarTo(const BreakpointData *needle) const;
6364 bool conditionsMatch() const;
6465