diff options
author | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2005-09-02 15:12:25 +0000 |
---|---|---|
committer | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2005-09-02 15:12:25 +0000 |
commit | 1ef98e2f5d4f8e87f5ae25db93697a26e0c59fe4 (patch) | |
tree | 7881f5fccc0c5ffec031b02e485cbb520245cee8 | |
parent | 72a6b606f7c6c1ed26a8c28c9e4d6dad1ce056bb (diff) | |
download | pygobject-1ef98e2f5d4f8e87f5ae25db93697a26e0c59fe4.tar.gz pygobject-1ef98e2f5d4f8e87f5ae25db93697a26e0c59fe4.tar.xz pygobject-1ef98e2f5d4f8e87f5ae25db93697a26e0c59fe4.zip |
[Bug 315100] gobject.type_register if parameter is not a type
-rw-r--r-- | gobject/gobjectmodule.c | 2 | ||||
-rw-r--r-- | tests/test_subtype.py | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index c43d368..cd08c34 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -975,7 +975,7 @@ _wrap_pyg_type_register(PyObject *self, PyObject *args) { PyTypeObject *class; - if (!PyArg_ParseTuple(args, "O:gobject.type_register", &class)) + if (!PyArg_ParseTuple(args, "O!:gobject.type_register", &PyType_Type, &class)) return NULL; if (!PyType_IsSubtype(class, &PyGObject_Type)) { PyErr_SetString(PyExc_TypeError,"argument must be a GObject subclass"); diff --git a/tests/test_subtype.py b/tests/test_subtype.py index 630344c..b01a593 100644 --- a/tests/test_subtype.py +++ b/tests/test_subtype.py @@ -70,3 +70,6 @@ class TestSubType(unittest.TestCase): PyWindow = type('PyWindow', (gtk.Window,), dict(__gtype_name__='PyWindow2')) foo = PyWindow() self.assertEqual(foo.__grefcount__, 2) + + def testRegisterArgNotType(self): + self.assertRaises(TypeError, gobject.type_register, 1) |