summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2014-11-14 14:59:27 +0100
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2014-11-14 16:05:47 +0200
commit33fd656641b36474f1f143d79bfbb6e17a45889a (patch)
treebf67cb55df7b489a93b5638667300664c3d51921
parente06c9ec09b9d882e2d0f791280f103f69aec6a09 (diff)
downloadqt-creator-33fd656641b36474f1f143d79bfbb6e17a45889a.tar.gz
Check for valid Diagnostic
Change-Id: Icfce44a373d56f008027330f9b1a2d446f4d2adb Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.cpp5
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzerdiagnostic.h2
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzerdiagnosticview.cpp3
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);