diff options
author | John Finlay <finlay@src.gnome.org> | 2004-07-29 16:17:29 +0000 |
---|---|---|
committer | John Finlay <finlay@src.gnome.org> | 2004-07-29 16:17:29 +0000 |
commit | 9c6126ff90d4b6b1b65fb16c388095a5cd104b52 (patch) | |
tree | eb02c013786649a26191f41ef85d4d425e6e653f /gtk/gtktreeview.override | |
parent | 0963853d3899321cd7594a16d0e61f4da1ce7d62 (diff) | |
download | pygtk-9c6126ff90d4b6b1b65fb16c388095a5cd104b52.tar.gz |
gtk/gtktreeview.override (_wrap_gtk_list_store_insert_before)
* gtk/gtktreeview.override (_wrap_gtk_list_store_insert_before)
(_wrap_gtk_list_store_insert_after) Allow sibling to be None.
Fixes #148751 (Steve Chaplin)
Diffstat (limited to 'gtk/gtktreeview.override')
-rw-r--r-- | gtk/gtktreeview.override | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/gtk/gtktreeview.override b/gtk/gtktreeview.override index 0ebb412c..1fc32237 100644 --- a/gtk/gtktreeview.override +++ b/gtk/gtktreeview.override @@ -1296,22 +1296,24 @@ _wrap_gtk_list_store_insert_before(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "sibling", "row", NULL }; - PyObject *sibling; - GtkTreeIter iter; + PyObject *py_sibling; + GtkTreeIter iter, *sibling = NULL; PyObject *row = Py_None; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:GtkListStore.insert_before", - kwlist, &sibling, &row)) { + kwlist, &py_sibling, &row)) { return NULL; } - if (!pyg_boxed_check(sibling, GTK_TYPE_TREE_ITER)) { - PyErr_SetString(PyExc_TypeError, "iter must be a GtkTreeIter"); + if (pyg_boxed_check(py_sibling, GTK_TYPE_TREE_ITER)) + sibling = pyg_boxed_get(py_sibling, GtkTreeIter); + else if (py_sibling != Py_None) { + PyErr_SetString(PyExc_TypeError, + "sibling must be a GtkTreeIter or None"); return NULL; } - gtk_list_store_insert_before(GTK_LIST_STORE(self->obj), &iter, - pyg_boxed_get(sibling, GtkTreeIter)); + gtk_list_store_insert_before(GTK_LIST_STORE(self->obj), &iter, sibling); /* optionally set items in the new row */ if (row != Py_None && @@ -1327,20 +1329,22 @@ _wrap_gtk_list_store_insert_after(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "sibling", "row", NULL }; - PyObject *sibling; - GtkTreeIter iter; + PyObject *py_sibling; + GtkTreeIter iter, *sibling = NULL; PyObject *row = Py_None; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:GtkListStore.insert_after", - kwlist, &sibling, &row)) + kwlist, &py_sibling, &row)) return NULL; - if (!pyg_boxed_check(sibling, GTK_TYPE_TREE_ITER)) { - PyErr_SetString(PyExc_TypeError, "iter must be a GtkTreeIter"); + if (pyg_boxed_check(py_sibling, GTK_TYPE_TREE_ITER)) + sibling = pyg_boxed_get(py_sibling, GtkTreeIter); + else if (py_sibling != Py_None) { + PyErr_SetString(PyExc_TypeError, + "sibling must be a GtkTreeIter or None"); return NULL; } - gtk_list_store_insert_after(GTK_LIST_STORE(self->obj), &iter, - pyg_boxed_get(sibling, GtkTreeIter)); + gtk_list_store_insert_after(GTK_LIST_STORE(self->obj), &iter, sibling); /* optionally set items in the new row */ if (row != Py_None && |