@@ -148,22 +148,21 @@ releaseobjects(FL_FORM *form)
148148static PyObject *
149149generic_set_call_back (genericobject * g , PyObject * args )
150150{
151- if (args == NULL ) {
151+ if (PyTuple_GET_SIZE ( args ) == 0 ) {
152152 Py_XDECREF (g -> ob_callback );
153153 Py_XDECREF (g -> ob_callback_arg );
154154 g -> ob_callback = NULL ;
155155 g -> ob_callback_arg = NULL ;
156156 }
157157 else {
158- if (!PyTuple_Check (args ) || PyTuple_Size (args ) != 2 ) {
159- PyErr_BadArgument ();
160- return NULL ;
161- }
158+ PyObject * a , * b ;
159+ if (!PyArg_UnpackTuple (args , "set_call_back" , 2 , 2 , & a , & b )
160+ return NULL ;
162161 Py_XDECREF (g -> ob_callback );
163162 Py_XDECREF (g -> ob_callback_arg );
164- g -> ob_callback = PyTuple_GetItem ( args , 0 ) ;
163+ g -> ob_callback = a ;
165164 Py_INCREF (g -> ob_callback );
166- g -> ob_callback_arg = PyTuple_GetItem ( args , 1 ) ;
165+ g -> ob_callback_arg = b ;
167166 Py_INCREF (g -> ob_callback_arg );
168167 }
169168 Py_INCREF (Py_None );
@@ -250,7 +249,7 @@ generic_set_object_shortcut(genericobject *g, PyObject *args)
250249}
251250
252251static PyMethodDef generic_methods [] = {
253- {"set_call_back" , (PyCFunction )generic_set_call_back , METH_OLDARGS },
252+ {"set_call_back" , (PyCFunction )generic_set_call_back , METH_VARARGS },
254253 {"delete_object" , (PyCFunction )generic_delete_object , METH_NOARGS },
255254 {"show_object" , (PyCFunction )generic_show_object , METH_NOARGS },
256255 {"hide_object" , (PyCFunction )generic_hide_object , METH_NOARGS },
@@ -261,7 +260,7 @@ static PyMethodDef generic_methods[] = {
261260#endif
262261 {"activate_object" , (PyCFunction )generic_activate_object , METH_NOARGS },
263262 {"deactivate_object" , (PyCFunction )generic_deactivate_object , METH_NOARGS },
264- {"set_object_shortcut" , (PyCFunction )generic_set_object_shortcut , METH_OLDARGS },
263+ {"set_object_shortcut" , (PyCFunction )generic_set_object_shortcut , METH_VARARGS },
265264 {NULL , NULL } /* sentinel */
266265};
267266
0 commit comments