Kaydet (Commit) 6b98ce23 authored tarafından Terry Jan Reedy's avatar Terry Jan Reedy

Issue #27044: stop test_idle from leaking by deleting callbacks.

üst b461791b
......@@ -483,6 +483,17 @@ class ConfigDialog(Toplevel):
self.autoSave.trace_variable('w', self.VarChanged_autoSave)
self.encoding.trace_variable('w', self.VarChanged_encoding)
def remove_var_callbacks(self):
"Remove callbacks to prevent memory leaks."
for var in (
self.fontSize, self.fontName, self.fontBold,
self.spaceNum, self.colour, self.builtinTheme,
self.customTheme, self.themeIsBuiltin, self.highlightTarget,
self.keyBinding, self.builtinKeys, self.customKeys,
self.keysAreBuiltin, self.winWidth, self.winHeight,
self.startupEdit, self.autoSave, self.encoding,):
var.trace_vdelete('w', var.trace_vinfo()[0][1])
def VarChanged_font(self, *params):
'''When one font attribute changes, save them all, as they are
not independent from each other. In particular, when we are
......
......@@ -25,6 +25,7 @@ class ConfigDialogTest(unittest.TestCase):
def test_dialog(self):
d=ConfigDialog(self.root, 'Test', _utest=True)
d.remove_var_callbacks()
d.destroy()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment