summaryrefslogtreecommitdiff
path: root/gobject/pygobject.c
diff options
context:
space:
mode:
authorSimon van der Linden <svdlinden@src.gnome.org>2009-08-12 17:07:27 +0200
committerSimon van der Linden <svdlinden@src.gnome.org>2009-08-14 23:21:24 +0200
commit17ebe0e2b421fc735b8dbd3b8eaf94b36ac2c89d (patch)
tree1e910fb440b862ba1bad0d8c95ae6340a73efffd /gobject/pygobject.c
parent5858f3e1f05676f9502628973b7e89f8d42fc67f (diff)
downloadpygobject-17ebe0e2b421fc735b8dbd3b8eaf94b36ac2c89d.tar.gz
Keep the reference count right
Diffstat (limited to 'gobject/pygobject.c')
-rw-r--r--gobject/pygobject.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gobject/pygobject.c b/gobject/pygobject.c
index 7f71ccc6..c772fcad 100644
--- a/gobject/pygobject.c
+++ b/gobject/pygobject.c
@@ -899,10 +899,13 @@ pygobject_lookup_class(GType gtype)
pygi_import();
py_type = (PyTypeObject *)pygi_type_find_by_gi_info(info);
g_base_info_unref(info);
- if (py_type)
+ if (py_type != NULL) {
+ /* Note: The type is registered, so at least a reference remains. */
+ Py_DECREF((PyObject *)py_type);
return py_type;
- else
+ } else {
PyErr_Clear();
+ }
}
}