summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-08-25 01:16:58 -0500
committerSlávek Banko <slavek.banko@axis.cz>2012-08-27 02:25:30 +0200
commit7910a182f07a2aa879f7f36213b1f8dce89ce488 (patch)
treef5b61cc046a9d55a954316f45e62a3f1ec00efb1
parente653702ddd717903f661f1aa3d45d5383dbe5fe7 (diff)
downloaddbus-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.cpp14
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;
}
}