diff --git a/qrenderdoc/Code/QRDUtils.cpp b/qrenderdoc/Code/QRDUtils.cpp index 21ca74968..4076ed21e 100644 --- a/qrenderdoc/Code/QRDUtils.cpp +++ b/qrenderdoc/Code/QRDUtils.cpp @@ -2125,6 +2125,7 @@ void addStructuredChildren(RDTreeWidgetItem *parent, const SDObject &parentObj) name = obj->name; RDTreeWidgetItem *item = new RDTreeWidgetItem({name, QString()}); + item->setTag(QVariant::fromValue((void *)obj)); item->setText(1, SDObject2Variant(obj, false)); diff --git a/qrenderdoc/Windows/APIInspector.cpp b/qrenderdoc/Windows/APIInspector.cpp index 613ebc303..367d2ead5 100644 --- a/qrenderdoc/Windows/APIInspector.cpp +++ b/qrenderdoc/Windows/APIInspector.cpp @@ -93,6 +93,11 @@ void APIInspector::RevealParameter(SDObject *param) if(current->GetChild(i) == next) { current = next; + + // revealing a parameter that wasn't added, bail out now + if(i >= parent->childCount() || parent->child((int)i)->tag().value() != next) + return; + item = parent->child((int)i); break; }