diff options
author | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2005-01-09 21:51:16 +0000 |
---|---|---|
committer | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2005-01-09 21:51:16 +0000 |
commit | 6c4cc25b96d43aca2a2ce0bee79c32925cd1d9b5 (patch) | |
tree | 7c41f6f7ca7888cdd63b2413ba73f4e24b0a30b1 | |
parent | 71e7666cbbca810bf5d75ec16baab2864a110a28 (diff) | |
download | pygobject-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.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; |