From 478f240c7f6fa439322e8f0bf25a20ad343cd8f9 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 3 Feb 2003 04:04:08 +0000 Subject: [PATCH] fix the HOOOGE mem leak! YAY MANMOWER! --- src/openbox.i | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/src/openbox.i b/src/openbox.i index b3d1a9ed..54198325 100644 --- a/src/openbox.i +++ b/src/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, MouseData *data) 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, EventData *data) 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); -- 2.39.2