summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gobject/pygobject.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gobject/pygobject.c b/gobject/pygobject.c
index 3877272f..e0fbdda1 100644
--- a/gobject/pygobject.c
+++ b/gobject/pygobject.c
@@ -1610,6 +1610,12 @@ pygobjectmeta_register(PyTypeObject *subtype, PyObject *instance_dict)
goto out;
}
+ /* Maybe the type doesn't really need to registered? */
+ if (!(PyDict_GetItemString(instance_dict, "__gtype_name__")
+ || PyDict_GetItemString(instance_dict, "__gproperties__")
+ || PyDict_GetItemString(instance_dict, "__gsignals__")))
+ goto out;
+
/* If it's already registered, skip registration */
if (PyDict_GetItemString(instance_dict, "__gtype__"))
goto out;