summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 eb2d19f..8c97ad2d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -41,6 +41,8 @@ Core and Builtins
Library
-------
+- Issue #3767: Convert Tk object to string in tkColorChooser.
+
- Issue #3248: Allow placing ScrolledText in a PanedWindow.
- Issue #3954: Fix a potential SystemError in _hotshot.logreader error