From 3d569fd6dccf9f582bafaca04d3535094cae393e Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sat, 19 Dec 2020 12:17:08 +0200 Subject: bpo-42630: Improve error reporting in Tkinter for absent default root (GH-23781) * Tkinter functions and constructors which need a default root window raise now RuntimeError with descriptive message instead of obscure AttributeError or NameError if it is not created yet or cannot be created automatically. * Add tests for all functions which use default root window. * Fix import in the pynche script. --- Lib/idlelib/pyshell.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Lib/idlelib/pyshell.py') diff --git a/Lib/idlelib/pyshell.py b/Lib/idlelib/pyshell.py index c3ecdc7b1b..abe8a85952 100755 --- a/Lib/idlelib/pyshell.py +++ b/Lib/idlelib/pyshell.py @@ -1061,8 +1061,10 @@ class PyShell(OutputWindow): (sys.version, sys.platform, self.COPYRIGHT, nosub)) self.text.focus_force() self.showprompt() + # User code should use separate default Tk root window import tkinter - tkinter._default_root = None # 03Jan04 KBK What's this? + tkinter._support_default_root = True + tkinter._default_root = None return True def stop_readline(self): -- cgit v1.2.1