summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;