diff options
Diffstat (limited to 'plugins/elf/python')
-rw-r--r-- | plugins/elf/python/format.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/plugins/elf/python/format.c b/plugins/elf/python/format.c index eb1bedb..a5e93d7 100644 --- a/plugins/elf/python/format.c +++ b/plugins/elf/python/format.c @@ -73,9 +73,19 @@ static PyObject *py_elf_format_new(PyTypeObject *type, PyObject *args, PyObject GtkStatusStack *status; /* Instance GTK de suivi */ GBinFormat *format; /* Création GLib à transmettre */ - ret = PyArg_ParseTuple(args, "O!OO", get_python_binary_content_type(), &content_obj, &parent_obj, &status_obj); + parent_obj = Py_None; + status_obj = Py_None; + + ret = PyArg_ParseTuple(args, "O|OO", &content_obj, &parent_obj, &status_obj); if (!ret) return NULL; + ret = PyObject_IsInstance(content_obj, (PyObject *)get_python_binary_content_type()); + if (!ret) + { + PyErr_SetString(PyExc_TypeError, _("The first argument must be an instance of BinContent.")); + return NULL; + } + content = G_BIN_CONTENT(pygobject_get(content_obj)); if (parent_obj == Py_None) |