diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2014-11-14 14:59:27 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2014-11-14 16:05:47 +0200 |
commit | 33fd656641b36474f1f143d79bfbb6e17a45889a (patch) | |
tree | bf67cb55df7b489a93b5638667300664c3d51921 | |
parent | e06c9ec09b9d882e2d0f791280f103f69aec6a09 (diff) | |
download | qt-creator-33fd656641b36474f1f143d79bfbb6e17a45889a.tar.gz |
Check for valid Diagnostic
Change-Id: Icfce44a373d56f008027330f9b1a2d446f4d2adb
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
3 files changed, 10 insertions, 0 deletions
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.cpp index e9152ffa47..09d810dfc9 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.cpp +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.cpp @@ -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 diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.h b/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.h index 3348cfa416..75df6218a9 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.h +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.h @@ -56,6 +56,8 @@ public: class Diagnostic { public: + bool isValid() const; + QString description; QString category; QString type; diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticview.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticview.cpp index fd9e216ed7..6d00968c86 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticview.cpp +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticview.cpp @@ -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); |