]> granicus.if.org Git - python/commitdiff
Merged revisions 68010 via svnmerge from
authorMartin v. Löwis <martin@v.loewis.de>
Mon, 29 Dec 2008 16:27:13 +0000 (16:27 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Mon, 29 Dec 2008 16:27:13 +0000 (16:27 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68010 | martin.v.loewis | 2008-12-29 17:22:25 +0100 (Mo, 29 Dez 2008) | 2 lines

  Issue #3767: Convert Tk object to string in tkColorChooser.
........

Lib/tkinter/colorchooser.py
Misc/NEWS

index cab77dc322231e12e47d6ec436ea1fae3c1c3d44..6027067208cf8b8eed44e57e9dbd109af523898c 100644 (file)
@@ -34,19 +34,22 @@ class Chooser(Dialog):
         try:
             # make sure initialcolor is a tk color string
             color = self.options["initialcolor"]
-            if type(color) == type(()):
+            if isinstance(color, tuple):
                 # assume an RGB triplet
                 self.options["initialcolor"] = "#%02x%02x%02x" % color
         except KeyError:
             pass
 
     def _fixresult(self, widget, result):
+        # result can be somethings: an empty tuple, an empty string or
+        # a Tcl_Obj, so this somewhat weird check handles that
+        if not result or not str(result):
+            return None, None # canceled
+
         # to simplify application code, the color chooser returns
         # an RGB tuple together with the Tk color string
-        if not result:
-            return None, None # canceled
         r, g, b = widget.winfo_rgb(result)
-        return (r/256, g/256, b/256), result
+        return (r/256, g/256, b/256), str(result)
 
 
 #
@@ -66,5 +69,4 @@ def askcolor(color = None, **options):
 # test stuff
 
 if __name__ == "__main__":
-
     print("color", askcolor())
index a830fc443b06744139ccaa9392fa74caab71baff..f483a1ca6c0d9948f08a9a3d0547ede221cd73a9 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -64,6 +64,8 @@ Core and Builtins
 Library
 -------
 
+- Issue #3767: Convert Tk object to string in tkColorChooser.
+
 - Issue #3248: Allow placing ScrolledText in a PanedWindow.
 
 - Issue #4444: Allow assertRaises() to be used as a context handler, so that