diff options
Diffstat (limited to 'gobject/pygobject.c')
| -rw-r--r-- | gobject/pygobject.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gobject/pygobject.c b/gobject/pygobject.c index 27f82f6..f889bc5 100644 --- a/gobject/pygobject.c +++ b/gobject/pygobject.c @@ -648,6 +648,10 @@ static inline void pygobject_switch_to_toggle_ref(PyGObject *self) { g_assert(self->obj->ref_count >= 1); + + if (self->private.flags & PYGOBJECT_USING_TOGGLE_REF) + return; /* already using toggle ref */ + self->private.flags |= PYGOBJECT_USING_TOGGLE_REF; /* Note that add_toggle_ref will never immediately call back into pyg_toggle_notify */ Py_INCREF((PyObject *) self); |
