Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit de60347

Browse files
author
Hirokazu Yamamoto
committed
Issue #4313: Fixed segfault on IDLE exit. Reverted r57540 and reopened Issue #1028.
1 parent e56131b commit de60347

1 file changed

Lines changed: 2 additions & 8 deletions

File tree

Modules/_tkinter.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1906,7 +1906,7 @@ static int
19061906
PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
19071907
{
19081908
PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData;
1909-
PyObject *self, *func, *arg, *res, *s;
1909+
PyObject *self, *func, *arg, *res;
19101910
int i, rv;
19111911
Tcl_Obj *obj_res;
19121912

@@ -1923,13 +1923,7 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
19231923
return PythonCmd_Error(interp);
19241924

19251925
for (i = 0; i < (argc - 1); i++) {
1926-
if (11 == (i + 1)) { /* the %A arg is the unicode char */
1927-
char *a = argv[i + 1];
1928-
s = PyUnicode_FromUnicode((Py_UNICODE *) a, strlen(a));
1929-
}
1930-
else {
1931-
s = PyUnicode_FromString(argv[i + 1]);
1932-
}
1926+
PyObject *s = PyUnicode_FromString(argv[i + 1]);
19331927
if (!s || PyTuple_SetItem(arg, i, s)) {
19341928
Py_DECREF(arg);
19351929
return PythonCmd_Error(interp);

0 commit comments

Comments
 (0)