forked from qt-creator/qt-creator
ClangTools: prevent creating duplicated diagnostic marks
If we already have marks from the analysis for the open file we do not need to create marks for the explicit analysis. Fixes: QTCREATORBUG-24955 Change-Id: Id550566c6e9a2dbd4e4eb3e9b9460a7778e39a50 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -102,7 +102,7 @@ QDebug operator<<(QDebug debug, const Diagnostic &d)
|
||||
;
|
||||
}
|
||||
|
||||
void ClangToolsDiagnosticModel::addDiagnostics(const Diagnostics &diagnostics)
|
||||
void ClangToolsDiagnosticModel::addDiagnostics(const Diagnostics &diagnostics, bool generateMarks)
|
||||
{
|
||||
const auto onFixitStatusChanged =
|
||||
[this](const QModelIndex &index, FixitStatus oldStatus, FixitStatus newStatus) {
|
||||
@@ -129,7 +129,7 @@ void ClangToolsDiagnosticModel::addDiagnostics(const Diagnostics &diagnostics)
|
||||
|
||||
// Add to file path item
|
||||
qCDebug(LOG) << "Adding diagnostic:" << d;
|
||||
filePathItem->appendChild(new DiagnosticItem(d, onFixitStatusChanged, this));
|
||||
filePathItem->appendChild(new DiagnosticItem(d, onFixitStatusChanged, generateMarks, this));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,11 +284,12 @@ static QString fullText(const Diagnostic &diagnostic)
|
||||
|
||||
DiagnosticItem::DiagnosticItem(const Diagnostic &diag,
|
||||
const OnFixitStatusChanged &onFixitStatusChanged,
|
||||
bool generateMark,
|
||||
ClangToolsDiagnosticModel *parent)
|
||||
: m_diagnostic(diag)
|
||||
, m_onFixitStatusChanged(onFixitStatusChanged)
|
||||
, m_parentModel(parent)
|
||||
, m_mark(new DiagnosticMark(diag))
|
||||
, m_mark(generateMark ? new DiagnosticMark(diag) : nullptr)
|
||||
{
|
||||
if (diag.hasFixits)
|
||||
m_fixitStatus = FixitStatus::NotScheduled;
|
||||
|
||||
Reference in New Issue
Block a user