GNOME Bugzilla – Bug 734465
GtkTreeModel iter_next and iter_previous should annotate iter as (inout)
Last modified: 2018-04-15 00:14:07 UTC
The iter argument is currently annotated as (in) (see [1]). This causes a problem for high-level languages which need to copy the boxed value when passing it as an argument to the vfunc. Currently this assumes pass-by-reference semantics which is not how high-level languages work with boxed types. Unfortunately this cannot be fixed in the 3.x series without an API break because PyGObject currently suffers from bug 722899 which boxed types are passed by reference to vfuncs making the vfuncs noted here actually work (and we have programs relying on this chain of bugs). This should be looked at for the 4.x series. [1] https://git.gnome.org/browse/gtk+/tree/gtk/gtktreemodel.c?id=3.13.5#n1427
We're moving to gitlab! As part of this move, we are moving bugs to NEEDINFO if they haven't seen activity in more than a year. If this issue is still important to you and still relevant with GTK+ 3.22 or master, please reopen it and we will migrate it to gitlab.
As announced a while ago, we are migrating to gitlab, and bugs that haven't seen activity in the last year or so will be not be migrated, but closed out in bugzilla. If this bug is still relevant to you, you can open a new issue describing the symptoms and how to reproduce it with gtk 3.22.x or master in gitlab: https://gitlab.gnome.org/GNOME/gtk/issues/new