diff --git a/src/dbus_fast/_private/unmarshaller.py b/src/dbus_fast/_private/unmarshaller.py index d93a525c..00a114e1 100644 --- a/src/dbus_fast/_private/unmarshaller.py +++ b/src/dbus_fast/_private/unmarshaller.py @@ -609,6 +609,9 @@ def _read_body(self) -> None: elif signature == "a{oa{sa{sv}}}": tree = SIGNATURE_TREE_A_OA_SA_SV body = [self._read_array(SIGNATURE_TREE_A_OA_SA_SV_TYPES_0)] + elif signature == "o": + tree = SIGNATURE_TREE_O + body = [self._read_string_unpack()] else: tree = get_signature_tree(signature) body = [self._readers[t.token](self, t) for t in tree.types]