diff options
author | Guido van Rossum <guido@python.org> | 1998-10-06 19:06:27 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-10-06 19:06:27 (GMT) |
commit | da654505307c766169915e133cd03e78b240acaf (patch) | |
tree | 4573d8aecc3afd8200b030b8f53319e994a51de9 | |
parent | 56af4448e1be7a7ed244a5f8f1da174da2ca1a76 (diff) | |
download | cpython-da654505307c766169915e133cd03e78b240acaf.zip cpython-da654505307c766169915e133cd03e78b240acaf.tar.gz cpython-da654505307c766169915e133cd03e78b240acaf.tar.bz2 |
The message "Exception in Tkinter callback" should go to stderr.
Fix bug in NoDefaultRoot() -- _default_root wasn't declared global;
and made it reentrant.
Don't set _default_root to whatever master gets passed in to
BaseWidget._setup() (only set it when we need to create a new Tk()
widget).
-rw-r--r-- | Lib/lib-tk/Tkinter.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index ae6cfb5..5c28084 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -61,6 +61,8 @@ _default_root = None def NoDefaultRoot(): global _support_default_root _support_default_root = 0 + global _default_root + _default_root = None del _default_root def _tkerror(err): @@ -931,8 +933,8 @@ class Tk(Misc, Wm): print 'execfile', `base_py` execfile(base_py, dir) def report_callback_exception(self, exc, val, tb): - import traceback - print "Exception in Tkinter callback" + import traceback, sys + sys.stderr.write("Exception in Tkinter callback\n") traceback.print_exception(exc, val, tb) # Ideally, the classes Pack, Place and Grid disappear, the @@ -1042,8 +1044,6 @@ class BaseWidget(Misc): if not _default_root: _default_root = Tk() master = _default_root - if not _default_root: - _default_root = master self.master = master self.tk = master.tk name = None |