From f7cefb427cbc50d89a4f19f7f334a4f5421cefd3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 23 Oct 2018 14:46:32 -0700 Subject: [PATCH] bpo-34794: Fix a leak in Tkinter. (GH-10025) (GH-10069) Based on the investigation by Xiang Zhang. (cherry picked from commit df13df41a25765d8a39a77220691698498e758d4) Co-authored-by: Serhiy Storchaka --- .../next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst | 2 ++ Modules/_tkinter.c | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst diff --git a/Misc/NEWS.d/next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst b/Misc/NEWS.d/next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst new file mode 100644 index 00000000000..770807fc765 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst @@ -0,0 +1,2 @@ +Fixed a leak in Tkinter when pass the Python wrapper around Tcl_Obj back to +Tcl/Tk. diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index 93d4dbc5f65..fa268599876 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -1101,9 +1101,7 @@ AsObj(PyObject *value) } if (PyTclObject_Check(value)) { - Tcl_Obj *v = ((PyTclObject*)value)->value; - Tcl_IncrRefCount(v); - return v; + return ((PyTclObject*)value)->value; } {