On Thu, 2013-02-28 at 10:08 +0000, Maciej Piechotka wrote:
> On Thu, 2013-02-28 at 09:26 +0100, Dan Winship wrote:
> > > 4. It's impossible to create custom Gtk.TreeIter from JS (no
> > > constructor), so can't implement a completely custom Gtk.TreeModel.
> > 
> > I don't know the details of this particular issue, but if it's not
> > possible to do at all now, then any change to make it more bindable
> > could not possibly break any existing code, so it could happen at any
> > time.
> 
> IIRC the GtkTreeIter is assumed to not allocate memory. The API and ABI
> would need to be altered in order to incorporate it as:
> 
>  - 3rd party needs to free GtkTreeIter if it uses one from arbitrary
> model (possibly not so important) - i.e. there is API change and ABI.
>  - All elements of class struct are already occupied so the size of
> struct would need to be change - thus changing the the ABI.
> 
> I looked at the issue around Gtk+ 3.2 when someone asked for non-memory
> allocating iterators for libgee (I cannot find the request right now but
> making it bindable would solve this issue as well).
> 
> Best regards

struct GtkTreeIter {
  gint stamp;
  gpointer user_data;
  gpointer user_data2;
  gpointer user_data3;
};

There's a stamp member that models can put unique IDs in. We could allow
Gjs to create iterators with just stamps and leave user_data alone.

_______________________________________________
desktop-devel-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to