all repos — openbox @ 478f240c7f6fa439322e8f0bf25a20ad343cd8f9

openbox fork - make it a bit more like ryudo

fix the HOOOGE mem leak! YAY MANMOWER!
Dana Jansens danakj@orodu.net
commit

478f240c7f6fa439322e8f0bf25a20ad343cd8f9

parent

ba87284397e058fc477a04fba2ff2eb815a33de0

1 files changed, 12 insertions(+), 15 deletions(-)

jump to
M src/openbox.isrc/openbox.i

@@ -30,12 +30,11 @@ %{

namespace ob { void python_callback(PyObject *func, MouseData *data) { - PyObject *arglist; - PyObject *result; + PyObject *arglist, *result, *pdata; - arglist = Py_BuildValue("(O)", SWIG_NewPointerObj((void *) data, - SWIGTYPE_p_ob__MouseData, - 0)); + pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__MouseData, 0); + arglist = Py_BuildValue("(O)", pdata); + Py_DECREF(pdata); // call the callback result = PyEval_CallObject(func, arglist);

@@ -50,12 +49,11 @@ }

void python_callback(PyObject *func, EventData *data) { - PyObject *arglist; - PyObject *result; + PyObject *arglist, *result, *pdata; - arglist = Py_BuildValue("(O)", SWIG_NewPointerObj((void *) data, - SWIGTYPE_p_ob__EventData, - 0)); + pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__EventData, 0); + arglist = Py_BuildValue("(O)", pdata); + Py_DECREF(pdata); // call the callback result = PyEval_CallObject(func, arglist);

@@ -70,12 +68,11 @@ }

void python_callback(PyObject *func, KeyData *data) { - PyObject *arglist; - PyObject *result; + PyObject *arglist, *result, *pdata; - arglist = Py_BuildValue("(O)", SWIG_NewPointerObj((void *) data, - SWIGTYPE_p_ob__KeyData, - 0)); + pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__KeyData, 0); + arglist = Py_BuildValue("(O)", pdata); + Py_DECREF(pdata); // call the callback result = PyEval_CallObject(func, arglist);