summaryrefslogtreecommitdiffstats
path: root/Lib/tkinter/tix.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2020-12-19 14:38:37 (GMT)
committerGitHub <noreply@github.com>2020-12-19 14:38:37 (GMT)
commit80c445cafbdfb16c4a882e3ff6fe28b471aacdfc (patch)
treec50f6688e6653e3f0a15db5a4bdd805299c2614a /Lib/tkinter/tix.py
parentd21d29ab5b8741da056ac09c49c759b6ccbf264a (diff)
downloadcpython-80c445cafbdfb16c4a882e3ff6fe28b471aacdfc.zip
cpython-80c445cafbdfb16c4a882e3ff6fe28b471aacdfc.tar.gz
cpython-80c445cafbdfb16c4a882e3ff6fe28b471aacdfc.tar.bz2
[3.8] bpo-42630: Improve error reporting in Tkinter for absent default root (GH-23781) (GH-23854)
* 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/tix.py')
-rw-r--r--Lib/tkinter/tix.py9
1 files changed, 2 insertions, 7 deletions
diff --git a/Lib/tkinter/tix.py b/Lib/tkinter/tix.py
index ac54550..ef1e740 100644
--- a/Lib/tkinter/tix.py
+++ b/Lib/tkinter/tix.py
@@ -387,9 +387,7 @@ class TixWidget(tkinter.Widget):
# These are missing from Tkinter
def image_create(self, imgtype, cnf={}, master=None, **kw):
if not master:
- master = tkinter._default_root
- if not master:
- raise RuntimeError('Too early to create image')
+ master = self
if kw and cnf: cnf = _cnfmerge((cnf, kw))
elif kw: cnf = kw
options = ()
@@ -475,10 +473,7 @@ class DisplayStyle:
elif 'refwindow' in cnf:
master = cnf['refwindow']
else:
- master = tkinter._default_root
- if not master:
- raise RuntimeError("Too early to create display style: "
- "no root window")
+ master = tkinter._get_default_root('create display style')
self.tk = master.tk
self.stylename = self.tk.call('tixDisplayStyle', itemtype,
*self._options(cnf,kw) )