]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Move _tkinter.c 1.115 into release branch.
authorMartin v. Löwis <martin@v.loewis.de>
Thu, 15 Mar 2001 16:56:36 +0000 (16:56 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Thu, 15 Mar 2001 16:56:36 +0000 (16:56 +0000)
Misc/NEWS
Modules/_tkinter.c

index 0d78e7f9ceafffd3295242cc8ea665668cf213eb..f72bc8078a0b3ef04aeb6362b3a1133515187c6c 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1,3 +1,14 @@
+What's Fixed in Python 2.0.1
+============================
+
+Critical Patches (from MoinMoin)
+
+- Core dumps in _tkinter
+
+Fixes to bugs reported on SourceForge
+
+- #117278, #117167: _tkinter
+
 What's New in Python 2.0?
 =========================
 
index 528b04871983ff76adcbc8404d8bafadec285ac6..86b5c220e319dc796bd1590b828b33bac2faa6bf 100644 (file)
@@ -572,13 +572,13 @@ Tkapp_Call(PyObject *self, PyObject *args)
        objv = objStore;
 
        if (args == NULL)
-               objc = 0;
+               /* do nothing */;
 
        else if (!PyTuple_Check(args)) {
-               objc = 1;
                objv[0] = AsObj(args);
                if (objv[0] == 0)
                        goto finally;
+               objc = 1;
                Tcl_IncrRefCount(objv[0]);
        }
        else {
@@ -588,6 +588,7 @@ Tkapp_Call(PyObject *self, PyObject *args)
                        objv = (Tcl_Obj **)ckalloc(objc * sizeof(char *));
                        if (objv == NULL) {
                                PyErr_NoMemory();
+                               objc = 0;
                                goto finally;
                        }
                }
@@ -599,8 +600,12 @@ Tkapp_Call(PyObject *self, PyObject *args)
                                break;
                        }
                        objv[i] = AsObj(v);
-                       if (!objv[i])
+                       if (!objv[i]) {
+                               /* Reset objc, so it attempts to clear
+                                  objects only up to i. */
+                               objc = i;
                                goto finally;
+                       }
                        Tcl_IncrRefCount(objv[i]);
                }
        }