summaryrefslogtreecommitdiffstats
path: root/Lib/tkinter/font.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2020-12-19 11:08:07 (GMT)
committerGitHub <noreply@github.com>2020-12-19 11:08:07 (GMT)
commit87e7a14ee3bd7dc495e51166598453114342d0bf (patch)
tree294f115bf28022c9a25b174684cc5dfbe6e7fde9 /Lib/tkinter/font.py
parentd458d8dab0abaf781c923f80f8eb832d0c683e88 (diff)
downloadcpython-87e7a14ee3bd7dc495e51166598453114342d0bf.zip
cpython-87e7a14ee3bd7dc495e51166598453114342d0bf.tar.gz
cpython-87e7a14ee3bd7dc495e51166598453114342d0bf.tar.bz2
[3.9] bpo-42630: Improve error reporting in Tkinter for absent default root (GH-23781) (GH-23853)
* 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. (cherry picked from commit 3d569fd6dccf9f582bafaca04d3535094cae393e)
Diffstat (limited to 'Lib/tkinter/font.py')
-rw-r--r--Lib/tkinter/font.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/tkinter/font.py b/Lib/tkinter/font.py
index 15ad7ab..2b58030 100644
--- a/Lib/tkinter/font.py
+++ b/Lib/tkinter/font.py
@@ -69,7 +69,7 @@ class Font:
def __init__(self, root=None, font=None, name=None, exists=False,
**options):
if not root:
- root = tkinter._default_root
+ root = tkinter._get_default_root('use font')
tk = getattr(root, 'tk', root)
if font:
# get actual settings corresponding to the given font
@@ -180,7 +180,7 @@ class Font:
def families(root=None, displayof=None):
"Get font families (as a tuple)"
if not root:
- root = tkinter._default_root
+ root = tkinter._get_default_root('use font.families()')
args = ()
if displayof:
args = ('-displayof', displayof)
@@ -190,7 +190,7 @@ def families(root=None, displayof=None):
def names(root=None):
"Get names of defined fonts (as a tuple)"
if not root:
- root = tkinter._default_root
+ root = tkinter._get_default_root('use font.names()')
return root.tk.splitlist(root.tk.call("font", "names"))