summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}
}