Index: Tkinter.py =================================================================== --- Tkinter.py (revision 67259) +++ Tkinter.py (working copy) @@ -177,8 +177,7 @@ then the existing value is retained. """ global _varnum - if not master: - master = _default_root + master = setup_master(master) self._master = master self._tk = master.tk if name: @@ -323,7 +322,7 @@ def mainloop(n=0): """Run the main loop of Tcl.""" - _default_root.tk.mainloop(n) + setup_master().tk.mainloop(n) getint = int @@ -331,7 +330,7 @@ def getboolean(s): """Convert true and false to integer values 1 and 0.""" - return _default_root.tk.getboolean(s) + return setup_master().tk.getboolean(s) # Methods defined on both toplevel and interior widgets class Misc: @@ -1892,12 +1891,7 @@ """Internal class.""" def _setup(self, master, cnf): """Internal function. Sets up information about children.""" - if _support_default_root: - global _default_root - if not master: - if not _default_root: - _default_root = Tk() - master = _default_root + master = setup_master(master) self.master = master self.tk = master.tk name = None @@ -3220,10 +3214,7 @@ _last_id = 0 def __init__(self, imgtype, name=None, cnf={}, master=None, **kw): self.name = None - if not master: - master = _default_root - if not master: - raise RuntimeError, 'Too early to create image' + master = setup_master(master) self.tk = master.tk if not name: Image._last_id += 1 @@ -3343,8 +3334,8 @@ Valid resource names: background, data, file, foreground, maskdata, maskfile.""" Image.__init__(self, 'bitmap', name, cnf, master, **kw) -def image_names(): return _default_root.tk.call('image', 'names') -def image_types(): return _default_root.tk.call('image', 'types') +def image_names(): return setup_master().tk.call('image', 'names') +def image_types(): return setup_master().tk.call('image', 'types') class Spinbox(Widget):