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.
diff --git a/Lib/tkinter/commondialog.py b/Lib/tkinter/commondialog.py
index e56b5ba..cc30698 100644
--- a/Lib/tkinter/commondialog.py
+++ b/Lib/tkinter/commondialog.py
@@ -18,10 +18,10 @@ class Dialog:
command = None
def __init__(self, master=None, **options):
+ if not master:
+ master = options.get('parent')
self.master = master
self.options = options
- if not master and options.get('parent'):
- self.master = options['parent']
def _fixoptions(self):
pass # hook