diff options
Diffstat (limited to 'Objects/frameobject.c')
-rw-r--r-- | Objects/frameobject.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Objects/frameobject.c b/Objects/frameobject.c index bdf06db..9aadd61 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -349,15 +349,13 @@ frame_gettrace(PyFrameObject *f, void *closure) static int frame_settrace(PyFrameObject *f, PyObject* v, void *closure) { - PyObject* old_value; - /* We rely on f_lineno being accurate when f_trace is set. */ f->f_lineno = PyFrame_GetLineNumber(f); - old_value = f->f_trace; + if (v == Py_None) + v = NULL; Py_XINCREF(v); - f->f_trace = v; - Py_XDECREF(old_value); + Py_XSETREF(f->f_trace, v); return 0; } |