diff options
author | James Henstridge <jamesh@src.gnome.org> | 2002-11-16 12:05:35 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 2002-11-16 12:05:35 +0000 |
commit | 3e31fa180f82a411d584d2fbe06eff67088a9fa5 (patch) | |
tree | 18f135d7fa340a3330e5897ebe3864aa44ab59f3 | |
parent | 59e783f24a4804f8064f8f31608d4d656a5f4fdd (diff) | |
download | pygobject-3e31fa180f82a411d584d2fbe06eff67088a9fa5.tar.gz pygobject-3e31fa180f82a411d584d2fbe06eff67088a9fa5.tar.xz pygobject-3e31fa180f82a411d584d2fbe06eff67088a9fa5.zip |
(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.
-rw-r--r-- | gobject/pygtype.c | 25 |
1 files changed, 13 insertions, 12 deletions
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: |