summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2008-12-29 16:22:25 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2008-12-29 16:22:25 (GMT)
commit732479f50b46d4df153e178f844ad876e7f63bd8 (patch)
treef228deafda7d5e05a452590068d36e61109ab1ce
parente2eb2b4bc39b73c6346446e278166395a514cdb5 (diff)
downloadcpython-732479f50b46d4df153e178f844ad876e7f63bd8.zip
cpython-732479f50b46d4df153e178f844ad876e7f63bd8.tar.gz
cpython-732479f50b46d4df153e178f844ad876e7f63bd8.tar.bz2
Issue #3767: Convert Tk object to string in tkColorChooser.
-rw-r--r--Lib/lib-tk/tkColorChooser.py12
-rw-r--r--Misc/NEWS2
2 files changed, 9 insertions, 5 deletions
diff --git a/Lib/lib-tk/tkColorChooser.py b/Lib/lib-tk/tkColorChooser.py
index a55a797..cf6283b 100644
--- a/Lib/lib-tk/tkColorChooser.py
+++ b/Lib/lib-tk/tkColorChooser.py
@@ -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()
diff --git a/Misc/NEWS b/Misc/NEWS
index 070e698..a5b3d2d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -91,6 +91,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