diff options
Diffstat (limited to 'gobject')
| -rw-r--r-- | gobject/pygtype.c | 10 |
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); |
