Kaydet (Commit) ab45e27f authored tarafından Kurt B. Kaiser's avatar Kurt B. Kaiser

Tkinter binding involving Control-spacebar raises unicode error

Issue1028
üst fac6e9df
...@@ -1897,7 +1897,7 @@ static int ...@@ -1897,7 +1897,7 @@ static int
PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
{ {
PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData; PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData;
PyObject *self, *func, *arg, *res; PyObject *self, *func, *arg, *res, *s;
int i, rv; int i, rv;
Tcl_Obj *tres; Tcl_Obj *tres;
...@@ -1914,7 +1914,13 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) ...@@ -1914,7 +1914,13 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
return PythonCmd_Error(interp); return PythonCmd_Error(interp);
for (i = 0; i < (argc - 1); i++) { for (i = 0; i < (argc - 1); i++) {
PyObject *s = PyUnicode_FromString(argv[i + 1]); 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]);
}
if (!s || PyTuple_SetItem(arg, i, s)) { if (!s || PyTuple_SetItem(arg, i, s)) {
Py_DECREF(arg); Py_DECREF(arg);
return PythonCmd_Error(interp); return PythonCmd_Error(interp);
......
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