Commit 3e0cb09e authored by Serhiy Storchaka's avatar Serhiy Storchaka

Fixed grid_columnconfigure() and grid_rowconfigure() methods of

Tkinter widgets to work in wantobjects=True mode.
parent dd091d75
...@@ -1336,6 +1336,21 @@ class Misc: ...@@ -1336,6 +1336,21 @@ class Misc:
return self._getints(self.tk.call(*args)) or None return self._getints(self.tk.call(*args)) or None
bbox = grid_bbox bbox = grid_bbox
def _gridconvvalue(self, value):
if isinstance(value, (str, _tkinter.Tcl_Obj)):
try:
svalue = str(value)
if not svalue:
return None
elif '.' in svalue:
return getdouble(svalue)
else:
return getint(svalue)
except ValueError:
pass
return value
def _grid_configure(self, command, index, cnf, kw): def _grid_configure(self, command, index, cnf, kw):
"""Internal function.""" """Internal function."""
if type(cnf) is StringType and not kw: if type(cnf) is StringType and not kw:
...@@ -1354,22 +1369,14 @@ class Misc: ...@@ -1354,22 +1369,14 @@ class Misc:
for i in range(0, len(words), 2): for i in range(0, len(words), 2):
key = words[i][1:] key = words[i][1:]
value = words[i+1] value = words[i+1]
if not value: dict[key] = self._gridconvvalue(value)
value = None
elif '.' in str(value):
value = getdouble(value)
else:
value = getint(value)
dict[key] = value
return dict return dict
res = self.tk.call( res = self.tk.call(
('grid', command, self._w, index) ('grid', command, self._w, index)
+ options) + options)
if len(options) == 1: if len(options) == 1:
if not res: return None return self._gridconvvalue(res)
# In Tk 7.5, -width can be a float
if '.' in res: return getdouble(res)
return getint(res)
def grid_columnconfigure(self, index, cnf={}, **kw): def grid_columnconfigure(self, index, cnf={}, **kw):
"""Configure column INDEX of a grid. """Configure column INDEX of a grid.
......
...@@ -39,6 +39,9 @@ Core and Builtins ...@@ -39,6 +39,9 @@ Core and Builtins
Library Library
------- -------
- Issue #20635: Fixed grid_columnconfigure() and grid_rowconfigure() methods of
Tkinter widgets to work in wantobjects=True mode.
- Issue #17671: Fixed a crash when use non-initialized io.BufferedRWPair. - Issue #17671: Fixed a crash when use non-initialized io.BufferedRWPair.
Based on patch by Stephen Tu. Based on patch by Stephen Tu.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment