]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-111531: Tkinter: fix reference leaks in bind_class() and bind_all() (GH-111533)
authorSerhiy Storchaka <storchaka@gmail.com>
Tue, 31 Oct 2023 06:48:52 +0000 (08:48 +0200)
committerGitHub <noreply@github.com>
Tue, 31 Oct 2023 06:48:52 +0000 (08:48 +0200)
Lib/tkinter/__init__.py
Misc/NEWS.d/next/Library/2023-10-31-07-46-56.gh-issue-111531.6zUV_G.rst [new file with mode: 0644]

index 47b93d31fd3ffd2000c3523d6fa1a54a35ddc2c5..0df7f9d889413c803d9687e42134d00ccc79df04 100644 (file)
@@ -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 (file)
index 0000000..b722f04
--- /dev/null
@@ -0,0 +1,2 @@
+Fix reference leaks in ``bind_class()`` and ``bind_all()`` methods of
+:mod:`tkinter` widgets.