From: Martin v. Löwis Date: Sat, 2 Aug 2008 07:23:15 +0000 (+0000) Subject: Merged revisions 65399 via svnmerge from X-Git-Tag: v3.0b3~183 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cdfae162c9d43f8d398cdb857f56c138579ef932;p=python Merged revisions 65399 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r65399 | martin.v.loewis | 2008-08-02 09:20:25 +0200 (Sa, 02 Aug 2008) | 3 lines Issue #799428: Fix Tkinter.Misc._nametowidget to unwrap Tcl command objects. ........ --- diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py index dbb632b65c..08c5823ce6 100644 --- a/Lib/tkinter/__init__.py +++ b/Lib/tkinter/__init__.py @@ -1063,18 +1063,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):