From a0f7e83fb9a50a43668eb5c622bfa6edb06185f5 Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Mon, 30 Apr 2007 17:37:01 +0000 Subject: fix descriptor / toggle_ref interaction bug svn path=/trunk/; revision=658 --- gobject/pygobject.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gobject') diff --git a/gobject/pygobject.c b/gobject/pygobject.c index a17762d..27f82f6 100644 --- a/gobject/pygobject.c +++ b/gobject/pygobject.c @@ -2011,12 +2011,13 @@ pygobject_setattro(PyObject *self, PyObject *name, PyObject *value) { int res; PyGObject *gself = (PyGObject *) self; - if (gself->inst_dict == NULL) { + PyObject *inst_dict_before = gself->inst_dict; + /* call parent type's setattro */ + res = PyGObject_Type.tp_base->tp_setattro(self, name, value); + if (inst_dict_before == NULL && gself->inst_dict != NULL) { if (G_LIKELY(gself->obj)) pygobject_switch_to_toggle_ref(gself); } - /* call parent type's setattro */ - res = PyGObject_Type.tp_base->tp_setattro(self, name, value); return res; } -- cgit