diff options
author | Arjan Molenaar <gaphor@gmail.com> | 2021-08-03 17:42:59 +0200 |
---|---|---|
committer | Christoph Reiter <reiter.christoph@gmail.com> | 2022-03-28 06:47:29 +0200 |
commit | aeb85b296080a886fb71fc8b164c0760bae5bd0e (patch) | |
tree | befe92cf3417d8c0e70ff52bac27b1b99f809fc8 | |
parent | 0773c8667a0cb46e9da67869e9cfa6084ae79fce (diff) | |
download | pygobject-aeb85b296080a886fb71fc8b164c0760bae5bd0e.tar.gz |
Add extra safeguard in gimodule
Why does a g_instance_init() function only handle GObjects?
-rw-r--r-- | gi/gimodule.c | 6 |
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(); |