diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-08-02 07:20:25 +0000 |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-08-02 07:20:25 +0000 |
commit | aabf404ecc06f1ddbb4c003508dff78c7ac06012 (patch) | |
tree | b5f62128570cf6deefaac735aa1a83fc15ab9fd8 /Lib/lib-tk/Tkinter.py | |
parent | 97b1fb6a98809e82a76953522bd3d334cbbd4260 (diff) | |
download | cpython-git-aabf404ecc06f1ddbb4c003508dff78c7ac06012.tar.gz |
Issue #799428: Fix Tkinter.Misc._nametowidget to unwrap
Tcl command objects.
Diffstat (limited to 'Lib/lib-tk/Tkinter.py')
-rw-r--r-- | Lib/lib-tk/Tkinter.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index b2d4e8e092..3f69baba96 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -1066,18 +1066,18 @@ class Misc: def nametowidget(self, name): """Return the Tkinter instance of a widget identified by its Tcl name NAME.""" + name = str(name).split('.') w = self - if name[0] == '.': + + if not name[0]: w = w._root() name = name[1:] - while name: - i = name.find('.') - if i >= 0: - name, tail = name[:i], name[i+1:] - else: - tail = '' - w = w.children[name] - name = tail + + for n in name: + if not n: + break + w = w.children[n] + return w _nametowidget = nametowidget def _register(self, func, subst=None, needcleanup=1): |