Check for valid Diagnostic

Change-Id: Icfce44a373d56f008027330f9b1a2d446f4d2adb
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2014-11-14 14:59:27 +01:00
parent e06c9ec09b
commit 33fd656641
3 changed files with 10 additions and 0 deletions

View File

@@ -46,5 +46,10 @@ bool ExplainingStep::isValid() const
return location.isValid() && !ranges.isEmpty() && !message.isEmpty();
}
bool Diagnostic::isValid() const
{
return !description.isEmpty();
}
} // namespace Internal
} // namespace ClangStaticAnalyzer

View File

@@ -56,6 +56,8 @@ public:
class Diagnostic
{
public:
bool isValid() const;
QString description;
QString category;
QString type;

View File

@@ -168,6 +168,7 @@ DetailedErrorDelegate::SummaryLineInfo ClangStaticAnalyzerDiagnosticDelegate::su
const QModelIndex &index) const
{
const Diagnostic diagnostic = index.data(Qt::UserRole).value<Diagnostic>();
QTC_ASSERT(diagnostic.isValid(), return SummaryLineInfo());
DetailedErrorDelegate::SummaryLineInfo info;
info.errorText = diagnostic.description;
@@ -188,6 +189,8 @@ QWidget *ClangStaticAnalyzerDiagnosticDelegate::createDetailsWidget(const QFont
QVBoxLayout *layout = new QVBoxLayout;
const Diagnostic diagnostic = index.data(Qt::UserRole).value<Diagnostic>();
if (!diagnostic.isValid())
return widget;
// Add summary label
QLabel *summaryLineLabel = createSummaryLabel(diagnostic);