From: Guido van Rossum Date: Tue, 6 Oct 1998 19:06:27 +0000 (+0000) Subject: The message "Exception in Tkinter callback" should go to stderr. X-Git-Tag: v1.5.2a2~138 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da654505307c766169915e133cd03e78b240acaf;p=python 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). --- diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index ae6cfb568a..5c280846e7 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