aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Costa <miguel.costa@qt.io>2023-11-24 12:16:05 +0100
committerMiguel Costa <miguel.costa@qt.io>2023-11-28 09:49:44 +0000
commitaf573bda2f55b8eeb4d5a3a217efad494a204bb8 (patch)
treeed1ab0e4973bf880135dee09d733b5a162420a3f
parent39410db954214362df676ef6ec1e27c706fc58e6 (diff)
Fix QML object watch not expanding property list
Amends d065e67d7f3f6d0085e10658422f8c821c296891 Fixes: QTVSADDINBUG-1138 Change-Id: Ia283dae959f9a1a06b0a05ff3aadd3161cad83ff Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
-rw-r--r--QtVsTools.Package/QML/Debugging/AD7/QmlDebugAD7Property.cs23
1 files changed, 13 insertions, 10 deletions
diff --git a/QtVsTools.Package/QML/Debugging/AD7/QmlDebugAD7Property.cs b/QtVsTools.Package/QML/Debugging/AD7/QmlDebugAD7Property.cs
index ec8f4784..14f9dbda 100644
--- a/QtVsTools.Package/QML/Debugging/AD7/QmlDebugAD7Property.cs
+++ b/QtVsTools.Package/QML/Debugging/AD7/QmlDebugAD7Property.cs
@@ -66,16 +66,11 @@ namespace QtVsTools.Qml.Debug.AD7
Parent = parent;
JsValue = value;
- Children = new SortedDictionary<string, Property>();
- if (Parent?.JsValue is JsObject {IsArray: true} jsObject) {
- Name = $"[{JsValue.Name}]";
- foreach (JsValue objProp in jsObject.Properties.Where(x => x.HasData)) {
- Children[GetChildKey(objProp.Name)]
- = Create(StackFrame, ScopeNumber, objProp, this);
- }
- } else {
- Name = JsValue.Name;
- }
+ Name = Parent?.JsValue switch
+ {
+ JsObject { IsArray: true } => $"[{JsValue.Name}]",
+ _ => JsValue.Name
+ };
var nameParts = new Stack<string>(new[] { Name });
for (var p = Parent; p != null && !string.IsNullOrEmpty(p.Name); p = p.Parent) {
@@ -88,6 +83,14 @@ namespace QtVsTools.Qml.Debug.AD7
Type = JsValue.Type.ToString();
Value = JsValue.ToString();
+ Children = new();
+ if (JsValue is JsObject { Properties: not null } jsObject) {
+ foreach (JsValue objProp in jsObject.Properties.Where(x => x.HasData)) {
+ Children[GetChildKey(objProp.Name)]
+ = Create(StackFrame, ScopeNumber, objProp, this);
+ }
+ }
+
return true;
}