summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArjan Molenaar <gaphor@gmail.com>2021-08-03 17:42:59 +0200
committerChristoph Reiter <reiter.christoph@gmail.com>2022-03-28 06:47:29 +0200
commitaeb85b296080a886fb71fc8b164c0760bae5bd0e (patch)
treebefe92cf3417d8c0e70ff52bac27b1b99f809fc8
parent0773c8667a0cb46e9da67869e9cfa6084ae79fce (diff)
downloadpygobject-aeb85b296080a886fb71fc8b164c0760bae5bd0e.tar.gz
Add extra safeguard in gimodule
Why does a g_instance_init() function only handle GObjects?
-rw-r--r--gi/gimodule.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gi/gimodule.c b/gi/gimodule.c
index b7ef6beb..7b23012e 100644
--- a/gi/gimodule.c
+++ b/gi/gimodule.c
@@ -1066,11 +1066,15 @@ static void
pygobject__g_instance_init(GTypeInstance *instance,
gpointer g_class)
{
- GObject *object = (GObject *) instance;
+ GObject *object;
PyObject *wrapper, *result;
PyGILState_STATE state;
gboolean needs_init = FALSE;
+ g_return_if_fail(G_IS_OBJECT(instance));
+
+ object = (GObject *) instance;
+
wrapper = g_object_get_qdata(object, pygobject_wrapper_key);
if (wrapper == NULL) {
wrapper = pygobject_init_wrapper_get();