diff --git a/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp b/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp index 718ed5e1e..f6ce07b2e 100644 --- a/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp +++ b/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp @@ -706,7 +706,8 @@ void RDTreeWidgetDelegate::paint(QPainter *painter, const QStyleOptionViewItem & { RDTreeWidgetItem *item = model->itemForIndex(index); - if(item->m_text[index.column()].userType() == qMetaTypeId()) + if(index.column() < item->m_text.count() && + item->m_text[index.column()].userType() == qMetaTypeId()) { { // draw the item without text, so we get the proper background/selection/etc. @@ -790,7 +791,8 @@ QSize RDTreeWidgetDelegate::sizeHint(const QStyleOptionViewItem &option, const Q { RDTreeWidgetItem *item = model->itemForIndex(index); - if(item->m_text[index.column()].userType() == qMetaTypeId()) + if(index.column() < item->m_text.count() && + item->m_text[index.column()].userType() == qMetaTypeId()) { ResourceIdLinkedTextPtr linkedText = item->m_text[index.column()].value(); @@ -818,7 +820,8 @@ bool RDTreeWidgetDelegate::editorEvent(QEvent *event, QAbstractItemModel *model, { RDTreeWidgetItem *item = rdmodel->itemForIndex(index); - if(item->m_text[index.column()].userType() == qMetaTypeId()) + if(index.column() < item->m_text.count() && + item->m_text[index.column()].userType() == qMetaTypeId()) { ResourceIdLinkedTextPtr linkedText = item->m_text[index.column()].value(); @@ -877,7 +880,8 @@ bool RDTreeWidgetDelegate::linkHover(QMouseEvent *e, const QModelIndex &index) { RDTreeWidgetItem *item = m_widget->m_model->itemForIndex(index); - if(item->m_text[index.column()].userType() == qMetaTypeId()) + if(index.column() < item->m_text.count() && + item->m_text[index.column()].userType() == qMetaTypeId()) { ResourceIdLinkedTextPtr linkedText = item->m_text[index.column()].value(); diff --git a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp index e66f0e981..91e02876d 100644 --- a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp @@ -1486,8 +1486,8 @@ void VulkanPipelineStateViewer::setState() if(showNode(usedSlot, filledSlot)) { - RDTreeWidgetItem *node = - new RDTreeWidgetItem({i, name, a.location, a.binding, a.format.Name(), a.byteoffset}); + RDTreeWidgetItem *node = new RDTreeWidgetItem( + {i, name, a.location, a.binding, a.format.Name(), a.byteoffset, QString()}); usedBindings[a.binding] = true;