From 3e31fa180f82a411d584d2fbe06eff67088a9fa5 Mon Sep 17 00:00:00 2001 From: James Henstridge Date: Sat, 16 Nov 2002 12:05:35 +0000 Subject: (pyg_value_as_pyobject): when converting G_TYPE_BOOLEAN values to python objects, return one of Py_True or Py_False, so that Python 2.3 will return an instance of bool. --- gobject/pygtype.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'gobject') diff --git a/gobject/pygtype.c b/gobject/pygtype.c index 6a6659b..13218e7 100644 --- a/gobject/pygtype.c +++ b/gobject/pygtype.c @@ -505,18 +505,19 @@ pyg_value_as_pyobject(const GValue *value, gboolean copy_boxed) return pygobject_new(g_value_get_object(value)); else break; - case G_TYPE_CHAR: - { - gint8 val = g_value_get_char(value); - return PyString_FromStringAndSize((char *)&val, 1); - } - case G_TYPE_UCHAR: - { - guint8 val = g_value_get_uchar(value); - return PyString_FromStringAndSize((char *)&val, 1); - } - case G_TYPE_BOOLEAN: - return PyInt_FromLong(g_value_get_boolean(value)); + case G_TYPE_CHAR: { + gint8 val = g_value_get_char(value); + return PyString_FromStringAndSize((char *)&val, 1); + } + case G_TYPE_UCHAR: { + guint8 val = g_value_get_uchar(value); + return PyString_FromStringAndSize((char *)&val, 1); + } + case G_TYPE_BOOLEAN: { + PyObject *val = g_value_get_boolean(value) ? Py_True : Py_False; + Py_INCREF(val); + return val; + } case G_TYPE_INT: return PyInt_FromLong(g_value_get_int(value)); case G_TYPE_UINT: -- cgit