From: Serhiy Storchaka Date: Tue, 31 Oct 2023 06:48:52 +0000 (+0200) Subject: gh-111531: Tkinter: fix reference leaks in bind_class() and bind_all() (GH-111533) X-Git-Tag: v3.13.0a2~262 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e3353c498d79f0f3f108a9baf8807a12e77c2ebe;p=thirdparty%2FPython%2Fcpython.git gh-111531: Tkinter: fix reference leaks in bind_class() and bind_all() (GH-111533) --- diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py index 47b93d31fd3f..0df7f9d88941 100644 --- a/Lib/tkinter/__init__.py +++ b/Lib/tkinter/__init__.py @@ -1538,7 +1538,7 @@ class Misc: An additional boolean parameter ADD specifies whether FUNC will be called additionally to the other bound function or whether it will replace the previous function. See bind for the return value.""" - return self._bind(('bind', 'all'), sequence, func, add, 0) + return self._root()._bind(('bind', 'all'), sequence, func, add, True) def unbind_all(self, sequence): """Unbind for all widgets for event SEQUENCE all functions.""" @@ -1552,7 +1552,7 @@ class Misc: whether it will replace the previous function. See bind for the return value.""" - return self._bind(('bind', className), sequence, func, add, 0) + return self._root()._bind(('bind', className), sequence, func, add, True) def unbind_class(self, className, sequence): """Unbind for all widgets with bindtag CLASSNAME for event SEQUENCE diff --git a/Misc/NEWS.d/next/Library/2023-10-31-07-46-56.gh-issue-111531.6zUV_G.rst b/Misc/NEWS.d/next/Library/2023-10-31-07-46-56.gh-issue-111531.6zUV_G.rst new file mode 100644 index 000000000000..b722f0414184 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-10-31-07-46-56.gh-issue-111531.6zUV_G.rst @@ -0,0 +1,2 @@ +Fix reference leaks in ``bind_class()`` and ``bind_all()`` methods of +:mod:`tkinter` widgets.