diff options
Diffstat (limited to 'atk.override')
-rw-r--r-- | atk.override | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/atk.override b/atk.override index 08babd60..bd2e7008 100644 --- a/atk.override +++ b/atk.override @@ -14,8 +14,8 @@ ignore-glob *_get_type %% override atk_relation_new kwargs -static PyObject * -_wrap_atk_relation_new(PyGBoxed *self, PyObject *args, PyObject *kwargs) +static int +_wrap_atk_relation_new (PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "targets", "relationship", NULL }; AtkObject **targets; @@ -26,11 +26,11 @@ _wrap_atk_relation_new(PyGBoxed *self, PyObject *args, PyObject *kwargs) if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Oi#:relation_new", kwlist, &py_targets, &relationship)) - return NULL; + return -1; if (!PySequence_Check(py_targets)) { PyErr_SetString(PyExc_TypeError, "targets argument must be a sequence"); - return NULL; + return -1; } count = PySequence_Length(py_targets); @@ -41,14 +41,16 @@ _wrap_atk_relation_new(PyGBoxed *self, PyObject *args, PyObject *kwargs) if (!pygobject_check(item, &PyAtkObject_Type)) { PyErr_SetString(PyExc_TypeError, "targets argument must be a sequence of AtkObjects."); g_free(targets); - return NULL; + return -1; } targets[i] = (AtkObject *) pygobject_get(item); } - ret = atk_relation_new(targets, count, relationship); - g_free(targets); + self->obj = (GObject *) atk_relation_new(targets, count, relationship); - return pygobject_new((GObject *) ret); + g_free(targets); + + pygobject_register_wrapper((PyObject *) self); + return 0; } |