@@ -2969,7 +2969,6 @@ void ShaderViewer::combineStructures(RDTreeWidgetItem *root, int skipPrefixLengt
2969
2969
2970
2970
VariableTag tag;
2971
2971
tag.absoluteRefPath = prefix;
2972
- parent->setTag (QVariant::fromValue (tag));
2973
2972
2974
2973
// add all the children (stripping the prefix from their name)
2975
2974
for (RDTreeWidgetItem *item : matches)
@@ -2982,8 +2981,15 @@ void ShaderViewer::combineStructures(RDTreeWidgetItem *root, int skipPrefixLengt
2982
2981
parent->setBackground (item->background ());
2983
2982
if (item->foreground ().color ().isValid ())
2984
2983
parent->setForeground (item->foreground ());
2984
+
2985
+ VariableTag childTag = item->tag ().value <VariableTag>();
2986
+
2987
+ // take max updateID when combining
2988
+ tag.updateID = qMax (tag.updateID , childTag.updateID );
2985
2989
}
2986
2990
2991
+ parent->setTag (QVariant::fromValue (tag));
2992
+
2987
2993
// recurse and combine members of this object if a struct
2988
2994
if (!isLeafArray)
2989
2995
{
@@ -4733,7 +4739,8 @@ RDTreeWidgetItem *ShaderViewer::makeSourceVariableNode(const ShaderVariable &var
4733
4739
tag.absoluteRefPath = baseTag.absoluteRefPath + sep + var.name ;
4734
4740
tag.expanded = true ;
4735
4741
tag.modified = HasChanged (baseTag.absoluteRefPath + sep + var.name );
4736
- tag.updateID = CalcUpdateID (tag.updateID , baseTag.absoluteRefPath + sep + var.name );
4742
+ tag.updateID = CalcUpdateID (tag.updateID , debugVarPath);
4743
+ tag.updateID = CalcUpdateID (tag.updateID , debugName);
4737
4744
4738
4745
for (const ShaderVariable &child : var.members )
4739
4746
{
0 commit comments