forked from qt-creator/qt-creator
Debugger: Avoid recreation of breakpoint markers
Change-Id: Ie3b160a7b7137257b2028d03878700675142102f Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -2260,13 +2260,18 @@ void GlobalBreakpointItem::removeBreakpointFromModel()
|
|||||||
|
|
||||||
void GlobalBreakpointItem::updateLineNumber(int lineNumber)
|
void GlobalBreakpointItem::updateLineNumber(int lineNumber)
|
||||||
{
|
{
|
||||||
|
if (m_params.lineNumber == lineNumber)
|
||||||
|
return;
|
||||||
m_params.lineNumber = lineNumber;
|
m_params.lineNumber = lineNumber;
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GlobalBreakpointItem::updateFileName(const FilePath &fileName)
|
void GlobalBreakpointItem::updateFileName(const FilePath &fileName)
|
||||||
{
|
{
|
||||||
m_params.fileName = fileName.toString();
|
const QString &file = fileName.toString();
|
||||||
|
if (m_params.fileName == file)
|
||||||
|
return;
|
||||||
|
m_params.fileName = file;
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2305,11 +2310,14 @@ void GlobalBreakpointItem::updateMarker()
|
|||||||
|
|
||||||
const FilePath file = FilePath::fromString(m_params.fileName);
|
const FilePath file = FilePath::fromString(m_params.fileName);
|
||||||
const int line = m_params.lineNumber;
|
const int line = m_params.lineNumber;
|
||||||
if (m_marker && (file != m_marker->fileName() || line != m_marker->lineNumber()))
|
if (m_marker) {
|
||||||
destroyMarker();
|
if (file != m_marker->fileName())
|
||||||
|
m_marker->updateFileName(file);
|
||||||
if (!m_marker && !file.isEmpty() && line > 0)
|
if (line != m_marker->lineNumber())
|
||||||
|
m_marker->move(line);
|
||||||
|
} else if (!file.isEmpty() && line > 0) {
|
||||||
m_marker = new GlobalBreakpointMarker(this, file, line);
|
m_marker = new GlobalBreakpointMarker(this, file, line);
|
||||||
|
}
|
||||||
|
|
||||||
if (m_marker)
|
if (m_marker)
|
||||||
m_marker->setToolTip(toolTip());
|
m_marker->setToolTip(toolTip());
|
||||||
|
Reference in New Issue
Block a user