diff --git a/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp b/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp index a049c535c..c3b93b04b 100644 --- a/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp +++ b/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp @@ -260,7 +260,7 @@ RDTreeWidgetItem::~RDTreeWidgetItem() QVariant RDTreeWidgetItem::data(int column, int role) const { - if(column >= m_data->count()) + if(m_data == NULL || column >= m_data->count()) return QVariant(); const QVector &dataVec = (*m_data)[column]; diff --git a/qrenderdoc/Widgets/Extended/RDTreeWidget.h b/qrenderdoc/Widgets/Extended/RDTreeWidget.h index dafe84cc8..fa2065ddc 100644 --- a/qrenderdoc/Widgets/Extended/RDTreeWidget.h +++ b/qrenderdoc/Widgets/Extended/RDTreeWidget.h @@ -50,7 +50,10 @@ public: inline void setIcon(int column, const QIcon &icon) { if(column >= m_icons.size()) - return; + { + m_text.resize(column + 1); + m_icons.resize(m_text.size()); + } m_icons[column] = icon; dataChanged(column, Qt::DecorationRole); @@ -94,7 +97,10 @@ public: inline void setText(int column, const QVariant &value) { if(column >= m_text.size()) - return; + { + m_text.resize(column + 1); + m_icons.resize(m_text.size()); + } m_text[column] = value; dataChanged(column, Qt::DisplayRole);