diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-02-03 04:04:08 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-02-03 04:04:08 +0000 |
| commit | 478f240c7f6fa439322e8f0bf25a20ad343cd8f9 (patch) | |
| tree | cbe40a600dd355de60d98ce4fdcabe0c6a356859 /src | |
| parent | ba87284397e058fc477a04fba2ff2eb815a33de0 (diff) | |
fix the HOOOGE mem leak! YAY MANMOWER!
Diffstat (limited to 'src')
| -rw-r--r-- | src/openbox.i | 27 |
1 files 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); |
