diff --git a/Lib/tkinter/simpledialog.py b/Lib/tkinter/simpledialog.py index 85244171117b61..1927cf821bd6c7 100644 --- a/Lib/tkinter/simpledialog.py +++ b/Lib/tkinter/simpledialog.py @@ -260,7 +260,15 @@ def __init__(self, title, prompt, parent = None): if not parent: - parent = tkinter._default_root + if tkinter._default_root: + parent = tkinter._default_root + elif tkinter._support_default_root: + parent = tkinter.Tk() + parent.withdraw() + else: + raise RuntimeError( + "No parent specified and tkinter is " + "configured to not support default root") self.prompt = prompt self.minvalue = minvalue diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-12-31-19-06-02.bpo-39171.cmXDsX.rst b/Misc/NEWS.d/next/Core and Builtins/2019-12-31-19-06-02.bpo-39171.cmXDsX.rst new file mode 100644 index 00000000000000..c3dfae4a2ad6e4 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2019-12-31-19-06-02.bpo-39171.cmXDsX.rst @@ -0,0 +1 @@ +Creating missing parent in tkinter simpledialog when possible.