diff options
-rw-r--r-- | gobject/pygtype.c | 8 |
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; |