]> granicus.if.org Git - python/commitdiff
Merged revisions 65399 via svnmerge from
authorMartin v. Löwis <martin@v.loewis.de>
Sat, 2 Aug 2008 07:23:15 +0000 (07:23 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Sat, 2 Aug 2008 07:23:15 +0000 (07:23 +0000)
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.
........

Lib/tkinter/__init__.py

index dbb632b65c601e59a24e41591435d50482f9e87f..08c5823ce6a5da61a74359d4b34006fe97ca956a 100644 (file)
@@ -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):