diff options
author | Guido van Rossum <guido@python.org> | 1995-10-07 19:08:37 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1995-10-07 19:08:37 (GMT) |
commit | f7f79ac0c8bd741b008278c60f6628119dd27639 (patch) | |
tree | eeb3741be1bb75f78aeec94d4a577967d650649f /Lib/lib-tk | |
parent | 909507dd0be2a0a2371461744e828b1f71518051 (diff) | |
download | cpython-f7f79ac0c8bd741b008278c60f6628119dd27639.zip cpython-f7f79ac0c8bd741b008278c60f6628119dd27639.tar.gz cpython-f7f79ac0c8bd741b008278c60f6628119dd27639.tar.bz2 |
better version sanity checks; get rid of Widget.unbind_class()
Diffstat (limited to 'Lib/lib-tk')
-rw-r--r-- | Lib/lib-tk/Tkinter.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index c9cb27b..12a1acc 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -10,8 +10,6 @@ CallableTypes = (FunctionType, MethodType, TkVersion = eval(tkinter.TK_VERSION) TclVersion = eval(tkinter.TCL_VERSION) -if TkVersion < 4.0: - raise ImportError, "This version of Tkinter.py requires Tk 4.0 or higher" def _flatten(tuple): @@ -578,6 +576,21 @@ class Tk(Misc, Wm): baseName = os.path.basename(sys.argv[0]) if baseName[-3:] == '.py': baseName = baseName[:-3] self.tk = tkinter.create(screenName, baseName, className) + # Version sanity checks + tk_version = self.tk.getvar('tk_version') + if tk_version != tkinter.TK_VERSION: + raise RuntimeError, \ + "tk.h version (%s) doesn't match libtk.a version (%s)" \ + % (tkinter.TK_VERSION, tk_version) + tcl_version = self.tk.getvar('tcl_version') + if tcl_version != tkinter.TCL_VERSION: + raise RuntimeError, \ + "tcl.h version (%s) doesn't match libtcl.a version (%s)" \ + % (tkinter.TCL_VERSION, tcl_version) + if TkVersion < 4.0: + raise RuntimeError, \ + "Tk 4.0 or higher is required; found Tk %s" \ + % str(TkVersion) self.tk.createcommand('tkerror', _tkerror) self.tk.createcommand('exit', _exit) self.readprofile(baseName, className) @@ -744,8 +757,9 @@ class Widget(Misc, Pack, Place): self.tk.call('destroy', self._w) def _do(self, name, args=()): return apply(self.tk.call, (self._w, name) + args) - def unbind_class(self, seq): - Misc.unbind_class(self, self.widgetName, seq) + # XXX The following method seems out of place here +## def unbind_class(self, seq): +## Misc.unbind_class(self, self.widgetName, seq) class Toplevel(Widget, Wm): def __init__(self, master=None, cnf={}, **kw): |