summaryrefslogtreecommitdiffstats
path: root/gobject
diff options
context:
space:
mode:
Diffstat (limited to 'gobject')
-rw-r--r--gobject/pygtype.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gobject/pygtype.c b/gobject/pygtype.c
index 73ce458..56eca37 100644
--- a/gobject/pygtype.c
+++ b/gobject/pygtype.c
@@ -681,8 +681,14 @@ pyg_value_as_pyobject(const GValue *value, gboolean copy_boxed)
return Py_None;
}
return ret;
- }
-
+ } else if (G_VALUE_HOLDS(value, G_TYPE_VALUE_ARRAY)) {
+ GValueArray *array = (GValueArray *) g_value_get_boxed(value);
+ PyObject *ret = PyTuple_New(array->n_values);
+ int i;
+ for (i = 0; i < array->n_values; ++i)
+ PyTuple_SET_ITEM(ret, i, pyg_value_as_pyobject(array->values + i, copy_boxed));
+ return ret;
+ }
bm = pyg_boxed_lookup(G_VALUE_TYPE(value));
if (bm) {
return bm->fromvalue(value);