summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-08-25 01:16:58 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-08-25 01:16:58 -0500
commitb6aba4c408a6db201af4a118725da2b8d8af0f84 (patch)
tree76722f6291bea2fd40825572c401bbddf6090df8
parent48ab18c6efc9d64e17f28e60b66c2d6b53a12a1d (diff)
downloaddbus-1-tqt-b6aba4c4.tar.gz
dbus-1-tqt-b6aba4c4.zip
Fix handling of struct types in arrays
-rw-r--r--tqdbusmarshall.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/tqdbusmarshall.cpp b/tqdbusmarshall.cpp
index 6180e2c..bfd572a 100644
--- a/tqdbusmarshall.cpp
+++ b/tqdbusmarshall.cpp
@@ -227,8 +227,18 @@ static TQValueList<TQT_DBusData> parseSignature(TQCString& signature)
break;
}
default:
- result << TQT_DBusData();
- signature = signature.mid(1);
+ TQT_DBusData::Type elementType =
+ qSingleTypeForDBusSignature(signature[0]);
+ if (elementType != TQT_DBusData::Invalid)
+ {
+ TQT_DBusDataList list(elementType);
+ result << TQT_DBusData::fromList(list);
+ signature = signature.mid(1);
+ }
+ else {
+ result << TQT_DBusData();
+ signature = signature.mid(1);
+ }
break;
}
}