]> Dogcows Code - chaz/openbox/blobdiff - src/openbox.i
Fixed a bug in grab handling for chains
[chaz/openbox] / src / openbox.i
index b3d1a9ed725650c70954521d4273298662011feb..5419832585bdb6292877110c1df73b01e574eb0d 100644 (file)
 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);
This page took 0.021543 seconds and 4 git commands to generate.