cpython: 4d0c938870bc (original) (raw)

Mercurial > cpython

changeset 85111:4d0c938870bc

Fix refcounting issue with extension types in tkinter. (issue #15721) [#15721]

Antoine Pitrou solipsis@pitrou.net
date Sun, 11 Aug 2013 00:22:30 +0200
parents 0fce8b90f25b
children 1edff836c954 febe4f36e020
files Misc/NEWS Modules/_tkinter.c
diffstat 2 files changed, 11 insertions(+), 0 deletions(-)[+] [-] Misc/NEWS 2 Modules/_tkinter.c 9

line wrap: on

line diff

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -24,6 +24,8 @@ Core and Builtins Library ------- +- Fix refcounting issue with extension types in tkinter. +

--- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -516,6 +516,7 @@ Tkapp_New(char *screenName, char *classN v = PyObject_New(TkappObject, (PyTypeObject *) Tkapp_Type); if (v == NULL) return NULL;

v->interp = Tcl_CreateInterp(); v->wantobjects = wantobjects; @@ -674,6 +675,7 @@ newPyTclObject(Tcl_Obj *arg) self = PyObject_New(PyTclObject, (PyTypeObject *) PyTclObject_Type); if (self == NULL) return NULL;

} static char* @@ -2196,6 +2200,7 @@ Tktt_New(PyObject *func) v = PyObject_New(TkttObject, (PyTypeObject *) Tktt_Type); if (v == NULL) return NULL;

Py_INCREF(func); v->token = NULL; @@ -2211,10 +2216,12 @@ Tktt_Dealloc(PyObject *self) { TkttObject *v = (TkttObject *)self; PyObject *func = v->func;

Py_XDECREF(func); PyObject_Del(self);

} static PyObject * @@ -2520,11 +2527,13 @@ static PyMethodDef Tkapp_methods[] = static void Tkapp_Dealloc(PyObject *self) {