summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArjan Molenaar <gaphor@gmail.com>2021-08-03 17:43:45 +0200
committerChristoph Reiter <reiter.christoph@gmail.com>2022-04-24 11:31:24 +0200
commite1c0c134a6f20eac231c6a1a030dce044d15fba6 (patch)
tree782c19980f4c454bc833eda23457f1c2888583b9
parent4769b8f9214a72fd45b8c73dc4d519e1dd0848ed (diff)
downloadpygobject-e1c0c134a6f20eac231c6a1a030dce044d15fba6.tar.gz
Check object type before Python objects are created
-rw-r--r--gi/pygi-object.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gi/pygi-object.c b/gi/pygi-object.c
index 00b36c1b..1ceab24d 100644
--- a/gi/pygi-object.c
+++ b/gi/pygi-object.c
@@ -235,10 +235,14 @@ pygi_arg_gobject_to_py (GIArgument *arg, GITransfer transfer) {
if (transfer == GI_TRANSFER_EVERYTHING)
g_param_spec_unref (arg->v_pointer);
- } else {
+ } else if (G_IS_OBJECT(arg->v_pointer)) {
pyobj = pygobject_new_full (arg->v_pointer,
/*steal=*/ transfer == GI_TRANSFER_EVERYTHING,
/*type=*/ NULL);
+ } else {
+ g_warning("No means to translate argument or return value for '%s'", g_type_name_from_instance(arg->v_pointer));
+ pyobj = Py_None;
+ Py_INCREF (pyobj);
}
return pyobj;