summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Bridon <bochecha@daitauha.fr>2015-07-05 11:07:00 +0200
committerMathieu Bridon <bochecha@daitauha.fr>2015-07-05 11:08:06 +0200
commitf69ce9f5f6cd81b057ed0006d1fe7f71fa294943 (patch)
tree1d265306f840b03a8c3928297dd5a0690fc1812b
parent0ee1f562c975df51ce93578d35678ef1e915e202 (diff)
downloadpygobject-f69ce9f5f6cd81b057ed0006d1fe7f71fa294943.tar.gz
Handle gtype marshalling
https://bugzilla.gnome.org/show_bug.cgi?id=749696
-rw-r--r--gi/pygi-argument.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gi/pygi-argument.c b/gi/pygi-argument.c
index 0c322e8c..fdd461a7 100644
--- a/gi/pygi-argument.c
+++ b/gi/pygi-argument.c
@@ -95,6 +95,9 @@ _pygi_hash_pointer_to_arg (GIArgument *arg,
case GI_TYPE_TAG_UINT32:
arg->v_uint32 = GPOINTER_TO_UINT (arg->v_pointer);
break;
+ case GI_TYPE_TAG_GTYPE:
+ arg->v_size = GPOINTER_TO_SIZE (arg->v_pointer);
+ break;
case GI_TYPE_TAG_UTF8:
case GI_TYPE_TAG_FILENAME:
case GI_TYPE_TAG_INTERFACE:
@@ -121,6 +124,8 @@ _pygi_arg_to_hash_pointer (const GIArgument *arg,
return GINT_TO_POINTER (arg->v_int32);
case GI_TYPE_TAG_UINT32:
return GINT_TO_POINTER (arg->v_uint32);
+ case GI_TYPE_TAG_GTYPE:
+ return GSIZE_TO_POINTER (arg->v_size);
case GI_TYPE_TAG_UTF8:
case GI_TYPE_TAG_FILENAME:
case GI_TYPE_TAG_INTERFACE: