summaryrefslogtreecommitdiffstats
path: root/gobject/pygflags.c
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2004-08-04 21:31:29 +0000
committerJohan Dahlin <johan@src.gnome.org>2004-08-04 21:31:29 +0000
commit5dc644b362a68879a1aa6a2a09eacbb341a85560 (patch)
tree48d8cf5bdc8182a5904b40f2fc2db44f4c5cfa00 /gobject/pygflags.c
parent272e668c19e45ad9f00312f89077d75bd74646c1 (diff)
downloadpygobject-5dc644b362a68879a1aa6a2a09eacbb341a85560.tar.gz
pygobject-5dc644b362a68879a1aa6a2a09eacbb341a85560.tar.xz
pygobject-5dc644b362a68879a1aa6a2a09eacbb341a85560.zip
New test.
* tests/enum.py (EnumTest.testOutofBounds): New test. * gobject/pygflags.c (pyg_flags_from_gtype): * gobject/pygenum.c (pyg_enum_from_gtype): Don't segfault on unknown values.
Diffstat (limited to 'gobject/pygflags.c')
-rw-r--r--gobject/pygflags.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gobject/pygflags.c b/gobject/pygflags.c
index 381a1dd..526368a 100644
--- a/gobject/pygflags.c
+++ b/gobject/pygflags.c
@@ -168,12 +168,16 @@ pyg_flags_from_gtype (GType gtype, int value)
retval = PyDict_GetItem(values, PyInt_FromLong(value));
if (!retval) {
PyErr_Clear();
-
+
+ return PyInt_FromLong(value);
+#if 0
+ /* This breaks repr */
retval = ((PyTypeObject *)pyclass)->tp_alloc((PyTypeObject *)pyclass, 0);
g_assert(retval != NULL);
((PyIntObject*)retval)->ob_ival = value;
((PyGFlags*)retval)->gtype = gtype;
+#endif
}
Py_INCREF(retval);