Use Tcl_SetObjResult instead of Tcl_SetResult.
This commit is contained in:
parent
88b44da944
commit
50fb866df8
|
@ -1946,9 +1946,9 @@ static int
|
|||
PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
{
|
||||
PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData;
|
||||
PyObject *self, *func, *arg, *res, *tmp;
|
||||
PyObject *self, *func, *arg, *res;
|
||||
int i, rv;
|
||||
char *s;
|
||||
Tcl_Obj *tres;
|
||||
|
||||
ENTER_PYTHON
|
||||
|
||||
|
@ -1975,24 +1975,17 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
|
|||
if (res == NULL)
|
||||
return PythonCmd_Error(interp);
|
||||
|
||||
if (!(tmp = PyList_New(0))) {
|
||||
tres = AsObj(res);
|
||||
if (tres == NULL) {
|
||||
Py_DECREF(res);
|
||||
return PythonCmd_Error(interp);
|
||||
}
|
||||
|
||||
s = AsString(res, tmp);
|
||||
if (s == NULL) {
|
||||
Py_DECREF(res);
|
||||
Py_DECREF(tmp);
|
||||
return PythonCmd_Error(interp);
|
||||
}
|
||||
else {
|
||||
Tcl_SetResult(Tkapp_Interp(self), s, TCL_VOLATILE);
|
||||
Tcl_SetObjResult(Tkapp_Interp(self), tres);
|
||||
rv = TCL_OK;
|
||||
}
|
||||
|
||||
Py_DECREF(res);
|
||||
Py_DECREF(tmp);
|
||||
|
||||
LEAVE_PYTHON
|
||||
|
||||
|
|
Loading…
Reference in New Issue