summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>2005-01-09 21:51:16 +0000
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>2005-01-09 21:51:16 +0000
commit6c4cc25b96d43aca2a2ce0bee79c32925cd1d9b5 (patch)
tree7c41f6f7ca7888cdd63b2413ba73f4e24b0a30b1
parent71e7666cbbca810bf5d75ec16baab2864a110a28 (diff)
downloadpygobject-6c4cc25b96d43aca2a2ce0bee79c32925cd1d9b5.tar.gz
pygobject-6c4cc25b96d43aca2a2ce0bee79c32925cd1d9b5.tar.xz
pygobject-6c4cc25b96d43aca2a2ce0bee79c32925cd1d9b5.zip
Bug 160595: pyg_value_from_pyobject() sometimes sets a Python exception, sometimes not
-rw-r--r--gobject/pygtype.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gobject/pygtype.c b/gobject/pygtype.c
index b1f3a9b..2317fb3 100644
--- a/gobject/pygtype.c
+++ b/gobject/pygtype.c
@@ -485,16 +485,20 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj)
case G_TYPE_ENUM:
{
gint val = 0;
- if (pyg_enum_get_value(G_VALUE_TYPE(value), obj, &val) < 0)
+ if (pyg_enum_get_value(G_VALUE_TYPE(value), obj, &val) < 0) {
+ PyErr_Clear();
return -1;
+ }
g_value_set_enum(value, val);
}
break;
case G_TYPE_FLAGS:
{
guint val = 0;
- if (pyg_flags_get_value(G_VALUE_TYPE(value), obj, &val) < 0)
+ if (pyg_flags_get_value(G_VALUE_TYPE(value), obj, &val) < 0) {
+ PyErr_Clear();
return -1;
+ }
g_value_set_flags(value, val);
}
break;