Re: Possible to fix glaring Gjs API issues before GNOME 4?



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.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]