summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gcarneiro@src.gnome.org>2003-12-26 12:20:49 +0000
committerGustavo J. A. M. Carneiro <gcarneiro@src.gnome.org>2003-12-26 12:20:49 +0000
commit4f6fc050596ae3e49a89842d305fb2b4e5bf6dfe (patch)
treea224400f5b7da40c6c2ecb807c1de842c497393d
parentaea18495810da51a0b7648bd44d0fe404211204b (diff)
downloadpygobject-4f6fc050596ae3e49a89842d305fb2b4e5bf6dfe.tar.gz
pygobject-4f6fc050596ae3e49a89842d305fb2b4e5bf6dfe.tar.xz
pygobject-4f6fc050596ae3e49a89842d305fb2b4e5bf6dfe.zip
Handle conversion of GValueArray to PyObject
-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);