summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gobject/pygtype.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gobject/pygtype.c b/gobject/pygtype.c
index febb304..bb99ed5 100644
--- a/gobject/pygtype.c
+++ b/gobject/pygtype.c
@@ -425,13 +425,13 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj)
case G_TYPE_STRING:
if (obj == Py_None)
g_value_set_string(value, NULL);
- else if ((tmp = PyObject_Str(obj)))
+ else if ((tmp = PyObject_Str(obj))) {
g_value_set_string(value, PyString_AsString(tmp));
- else {
+ Py_DECREF(tmp);
+ } else {
PyErr_Clear();
return -1;
}
- Py_DECREF(tmp);
break;
case G_TYPE_POINTER:
if (PyCObject_Check(obj))