diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-08-25 01:16:58 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2012-08-27 02:25:30 +0200 |
commit | 7910a182f07a2aa879f7f36213b1f8dce89ce488 (patch) | |
tree | f5b61cc046a9d55a954316f45e62a3f1ec00efb1 | |
parent | e653702ddd717903f661f1aa3d45d5383dbe5fe7 (diff) | |
download | dbus-1-tqt-7910a182f07a2aa879f7f36213b1f8dce89ce488.tar.gz dbus-1-tqt-7910a182f07a2aa879f7f36213b1f8dce89ce488.zip |
Fix handling of struct types in arrays
(cherry picked from commit b6aba4c408a6db201af4a118725da2b8d8af0f84)
-rw-r--r-- | tqdbusmarshall.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tqdbusmarshall.cpp b/tqdbusmarshall.cpp index cf5618b..7647f0c 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; } } |