From de60347b666a96ec3677c93576e8d97d56cf0c6e Mon Sep 17 00:00:00 2001 From: Hirokazu Yamamoto Date: Tue, 18 Nov 2008 04:33:04 +0000 Subject: [PATCH] Issue #4313: Fixed segfault on IDLE exit. Reverted r57540 and reopened Issue #1028. --- Modules/_tkinter.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index 3bbc7e4c39..dfafed5cda 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -1906,7 +1906,7 @@ static int PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) { PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData; - PyObject *self, *func, *arg, *res, *s; + PyObject *self, *func, *arg, *res; int i, rv; Tcl_Obj *obj_res; @@ -1923,13 +1923,7 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) return PythonCmd_Error(interp); for (i = 0; i < (argc - 1); i++) { - if (11 == (i + 1)) { /* the %A arg is the unicode char */ - char *a = argv[i + 1]; - s = PyUnicode_FromUnicode((Py_UNICODE *) a, strlen(a)); - } - else { - s = PyUnicode_FromString(argv[i + 1]); - } + PyObject *s = PyUnicode_FromString(argv[i + 1]); if (!s || PyTuple_SetItem(arg, i, s)) { Py_DECREF(arg); return PythonCmd_Error(interp); -- 2.40.0