Issue #21580: Now Tkinter correctly handles binary "data" and "maskdata"
configure options of tkinter.PhotoImage.
Added private Tkapp method _createbytearray().
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index ee49ed7..aade649 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/Tkinter.py
@@ -3282,6 +3282,8 @@
for k, v in cnf.items():
if hasattr(v, '__call__'):
v = self._register(v)
+ elif k in ('data', 'maskdata'):
+ v = self.tk._createbytearray(v)
options = options + ('-'+k, v)
self.tk.call(('image', 'create', imgtype, name,) + options)
self.name = name
@@ -3305,6 +3307,8 @@
if k[-1] == '_': k = k[:-1]
if hasattr(v, '__call__'):
v = self._register(v)
+ elif k in ('data', 'maskdata'):
+ v = self.tk._createbytearray(v)
res = res + ('-'+k, v)
self.tk.call((self.name, 'config') + res)
config = configure