diff options
author | Simon van der Linden <svdlinden@src.gnome.org> | 2009-08-12 17:07:27 +0200 |
---|---|---|
committer | Simon van der Linden <svdlinden@src.gnome.org> | 2009-08-14 23:21:24 +0200 |
commit | 17ebe0e2b421fc735b8dbd3b8eaf94b36ac2c89d (patch) | |
tree | 1e910fb440b862ba1bad0d8c95ae6340a73efffd /gobject/pygobject.c | |
parent | 5858f3e1f05676f9502628973b7e89f8d42fc67f (diff) | |
download | pygobject-17ebe0e2b421fc735b8dbd3b8eaf94b36ac2c89d.tar.gz |
Keep the reference count right
Diffstat (limited to 'gobject/pygobject.c')
-rw-r--r-- | gobject/pygobject.c | 7 |
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(); + } } } |