X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9d37f9642887a5602d7c0b59527f213c32dd501a..a4fbdd76c156f235c319d13a5a4c6df99eee9517:/wxPython/src/gdi.i?ds=sidebyside diff --git a/wxPython/src/gdi.i b/wxPython/src/gdi.i index 41e9a47f33..dae285e482 100644 --- a/wxPython/src/gdi.i +++ b/wxPython/src/gdi.i @@ -829,6 +829,10 @@ public: %addmethods { + // NOTE: These methods are VERY SIMILAR in implentation. It would be + // nice to factor out code and or turn them into a set of + // template-like macros. + // Draw a point for every set of coordinants in pyPoints, optionally // setting a new pen for each PyObject* _DrawPointList(PyObject* pyPoints, PyObject* pyPens) { @@ -860,6 +864,8 @@ public: obj = PySequence_GetItem(pyPens, i); } if (SWIG_GetPtrObj(obj, (void **) &pen, "_wxPen_p")) { + if (!isFastPens) + Py_DECREF(obj); goto err1; } @@ -876,7 +882,8 @@ public: obj = PySequence_GetItem(pyPoints, i); } if (! _2int_seq_helper(obj, &x1, &y1)) { - Py_DECREF(obj); + if (!isFastPens) + Py_DECREF(obj); goto err0; } @@ -930,6 +937,8 @@ public: obj = PySequence_GetItem(pyPens, i); } if (SWIG_GetPtrObj(obj, (void **) &pen, "_wxPen_p")) { + if (!isFastPens) + Py_DECREF(obj); goto err1; } @@ -946,7 +955,8 @@ public: obj = PySequence_GetItem(pyLines, i); } if (! _4int_seq_helper(obj, &x1, &y1, &x2, &y2)) { - Py_DECREF(obj); + if (!isFastPens) + Py_DECREF(obj); goto err0; }