From: Guilherme Polo Date: Sat, 7 Mar 2009 01:51:48 +0000 (+0000) Subject: Merged revisions 70218-70219 via svnmerge from X-Git-Tag: v2.6.2c1~112 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c4f54fdfaabb269420eeb194a63f48641fb167e2;p=thirdparty%2FPython%2Fcpython.git Merged revisions 70218-70219 via svnmerge from svn+ssh://pythondev/python/trunk ........ r70218 | guilherme.polo | 2009-03-06 22:19:12 -0300 (Fri, 06 Mar 2009) | 1 line Fixed issue #5193: Guarantee that Tkinter.Text.search returns a string. ........ r70219 | guilherme.polo | 2009-03-06 22:47:49 -0300 (Fri, 06 Mar 2009) | 4 lines Fixed issue #4792: Prevent a segfault in _tkinter by using the guaranteed to be safe interp argument given to the PythonCmd in place of the Tcl interpreter taken from a PythonCmd_ClientData. ........ --- diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index fded2491d55f..825e58dd2bd0 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -3046,7 +3046,7 @@ class Text(Widget): args.append(pattern) args.append(index) if stopindex: args.append(stopindex) - return self.tk.call(tuple(args)) + return str(self.tk.call(tuple(args))) def see(self, index): """Scroll such that the character at INDEX is visible.""" self.tk.call(self._w, 'see', index) diff --git a/Misc/NEWS b/Misc/NEWS index 41fff2995a7d..8d6b108d01cd 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -89,6 +89,12 @@ Core and Builtins Library ------- +- Issue #4792: Prevent a segfault in _tkinter by using the + guaranteed to be safe interp argument given to the PythonCmd in place of + the Tcl interpreter taken from a PythonCmd_ClientData. + +- Issue #5193: Guarantee that Tkinter.Text.search returns a string. + - Issue #5385: Fixed mmap crash after resize failure on windows. - Issue #5179: Fixed subprocess handle leak on failure on windows. diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index d13690d360af..83501bfd74ab 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -2030,7 +2030,7 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) return PythonCmd_Error(interp); } else { - Tcl_SetObjResult(Tkapp_Interp(self), obj_res); + Tcl_SetObjResult(interp, obj_res); rv = TCL_OK; }