]> granicus.if.org Git - python/commitdiff
The message "Exception in Tkinter callback" should go to stderr.
authorGuido van Rossum <guido@python.org>
Tue, 6 Oct 1998 19:06:27 +0000 (19:06 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 6 Oct 1998 19:06:27 +0000 (19:06 +0000)
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).

Lib/lib-tk/Tkinter.py

index ae6cfb568aab1226bbe20f766f032c23dc67ff82..5c280846e7a02f8a0569eabfc4594a6a6a98ffbc 100644 (file)
@@ -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