forked from qt-creator/qt-creator
Clang: Fix removing text marks on line deletion
Task-number: QTCREATORBUG-17270 Change-Id: I582015597a65141e420622dcdb50e82f9791b189 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
#include "clangdiagnostictooltipwidget.h"
|
||||
|
||||
#include <utils/icon.h>
|
||||
#include <utils/qtcassert.h>
|
||||
#include <utils/theme/theme.h>
|
||||
|
||||
#include <QLayout>
|
||||
@@ -60,9 +61,14 @@ Core::Id cartegoryForSeverity(ClangBackEnd::DiagnosticSeverity severity)
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
ClangTextMark::ClangTextMark(const QString &fileName, const ClangBackEnd::DiagnosticContainer &diagnostic)
|
||||
: TextEditor::TextMark(fileName, int(diagnostic.location().line()), cartegoryForSeverity(diagnostic.severity())),
|
||||
m_diagnostic(diagnostic)
|
||||
ClangTextMark::ClangTextMark(const QString &fileName,
|
||||
const ClangBackEnd::DiagnosticContainer &diagnostic,
|
||||
const RemovedFromEditorHandler &removedHandler)
|
||||
: TextEditor::TextMark(fileName,
|
||||
int(diagnostic.location().line()),
|
||||
cartegoryForSeverity(diagnostic.severity()))
|
||||
, m_diagnostic(diagnostic)
|
||||
, m_removedFromEditorHandler(removedHandler)
|
||||
{
|
||||
setPriority(TextEditor::TextMark::HighPriority);
|
||||
setIcon(diagnostic.severity());
|
||||
@@ -93,5 +99,11 @@ bool ClangTextMark::addToolTipContent(QLayout *target)
|
||||
return true;
|
||||
}
|
||||
|
||||
void ClangTextMark::removedFromEditor()
|
||||
{
|
||||
QTC_ASSERT(m_removedFromEditorHandler, return);
|
||||
m_removedFromEditorHandler(this);
|
||||
}
|
||||
|
||||
} // namespace ClangCodeModel
|
||||
|
||||
|
||||
Reference in New Issue
Block a user