Don't crash in data() if no data has ever been set. Allow adding columns

This commit is contained in:
baldurk
2017-08-24 16:04:26 +01:00
parent c0b123c575
commit 81ec99b58a
2 changed files with 9 additions and 3 deletions
+1 -1
View File
@@ -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<RoleData> &dataVec = (*m_data)[column];
+8 -2
View File
@@ -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);