From 50fb866df8b695eed751ca553c137c32f2a33151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Mon, 13 Aug 2007 05:41:41 +0000 Subject: [PATCH] Use Tcl_SetObjResult instead of Tcl_SetResult. --- Modules/_tkinter.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index df281cdcaec..93e4a985bcd 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -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