summaryrefslogtreecommitdiffstats
path: root/Modules/_tkinter.c
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2003-01-22 09:17:38 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2003-01-22 09:17:38 (GMT)
commit70c3dda2fba35f08f32163bc03315834d165cb36 (patch)
tree4d12fdde3bbb1fd84c245b204b7af37bbbba813d /Modules/_tkinter.c
parentd7ceb222bd19ea25b0b4d234623df0a9f73c96b5 (diff)
downloadcpython-70c3dda2fba35f08f32163bc03315834d165cb36.zip
cpython-70c3dda2fba35f08f32163bc03315834d165cb36.tar.gz
cpython-70c3dda2fba35f08f32163bc03315834d165cb36.tar.bz2
Convert booleans to integers in IntVar.set. Fixes #671741.
Return booleans from _tkinter.getboolean. Convert booleans to Tcl booleans in AsObj.
Diffstat (limited to 'Modules/_tkinter.c')
-rw-r--r--Modules/_tkinter.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 8b9926e..b9dc179 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -868,6 +868,8 @@ AsObj(PyObject *value)
if (PyString_Check(value))
return Tcl_NewStringObj(PyString_AS_STRING(value),
PyString_GET_SIZE(value));
+ else if (PyBool_Check(value))
+ return Tcl_NewBooleanObj(PyObject_IsTrue(value));
else if (PyInt_Check(value))
return Tcl_NewLongObj(PyInt_AS_LONG(value));
else if (PyFloat_Check(value))
@@ -1739,7 +1741,7 @@ Tkapp_GetBoolean(PyObject *self, PyObject *args)
return NULL;
if (Tcl_GetBoolean(Tkapp_Interp(self), s, &v) == TCL_ERROR)
return Tkinter_Error(self);
- return Py_BuildValue("i", v);
+ return PyBool_FromLong(v);
}
static PyObject *