diff --git a/tqdbusmarshall.cpp b/tqdbusmarshall.cpp index 6180e2c..bfd572a 100644 --- a/tqdbusmarshall.cpp +++ b/tqdbusmarshall.cpp @@ -227,8 +227,18 @@ static TQValueList 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; } }