From d693a81595ae3c617f5dd20f9a8bf8b7f130683b Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Mon, 30 Jun 2003 04:18:48 +0000 Subject: Fix SF 762891: "del p[key]" on proxy object raises SystemError() --- Objects/weakrefobject.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Objects/weakrefobject.c') diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c index e26cb65b13..f5afb53627 100644 --- a/Objects/weakrefobject.c +++ b/Objects/weakrefobject.c @@ -389,7 +389,11 @@ proxy_setitem(PyWeakReference *proxy, PyObject *key, PyObject *value) { if (!proxy_checkref(proxy)) return -1; - return PyObject_SetItem(PyWeakref_GET_OBJECT(proxy), key, value); + + if (value == NULL) + return PyObject_DelItem(PyWeakref_GET_OBJECT(proxy), key); + else + return PyObject_SetItem(PyWeakref_GET_OBJECT(proxy), key, value); } /* iterator slots */ -- cgit v1.2.1