diff options
Diffstat (limited to 'plugins/pychrysa/analysis/routine.c')
| -rw-r--r-- | plugins/pychrysa/analysis/routine.c | 17 | 
1 files changed, 4 insertions, 13 deletions
| diff --git a/plugins/pychrysa/analysis/routine.c b/plugins/pychrysa/analysis/routine.c index e42650a..39025b5 100644 --- a/plugins/pychrysa/analysis/routine.c +++ b/plugins/pychrysa/analysis/routine.c @@ -37,6 +37,7 @@  #include "block.h" +#include "../helpers.h" @@ -277,26 +278,16 @@ PyTypeObject *get_python_binary_routine_type(void)  bool register_python_binary_routine(PyObject *module)  { -    PyTypeObject *py_binary_routine_type;    /* Type Python 'BinRoutine'  */ -    int ret;                                /* Bilan d'un appel            */ +    PyTypeObject *py_binary_routine_type;   /* Type Python 'BinRoutine'    */      PyObject *dict;                         /* Dictionnaire du module      */      py_binary_routine_type = get_python_binary_routine_type(); -    py_binary_routine_type->tp_base = &PyGObject_Type; -    py_binary_routine_type->tp_basicsize = py_binary_routine_type->tp_base->tp_basicsize; +    dict = PyModule_GetDict(module); -    if (PyType_Ready(py_binary_routine_type) != 0) +    if (!register_class_for_pygobject(dict, G_TYPE_BIN_ROUTINE, py_binary_routine_type, &PyGObject_Type))          return false; -    Py_INCREF(py_binary_routine_type); -    ret = PyModule_AddObject(module, "BinRoutine", (PyObject *)py_binary_routine_type); -    if (ret != 0) return false; - -    dict = PyModule_GetDict(module); -    pygobject_register_class(dict, "BinRoutine", G_TYPE_BIN_ROUTINE, py_binary_routine_type, -                             Py_BuildValue("(O)", py_binary_routine_type->tp_base)); -      return true;  } | 
