rep-gtk's glue-code-generator drives me mad



Hi all,

I'm currently updating rep-gtk to the gtk+ 2.12 API. All of a sudden
rep-gtk uses the old glue-code-generator (build-gtk.jl) from guile-gtk
(which has been supersedded by guile-gnome). And when defining several
stuff it generates incompatible pointers -> non-working functions.

Well there are two ways to proceed:

a) fixup rep-gtk (and be happy for the rest of our lifes)
b) switch to guile-gnome (or whatever) for sawfish 3.0 and leave rep-gtk
for sawfish 1.6 as-is

Generally I prefer a), as b) as some defects (Who does that?, Is
guile-gnome for gtk3 available soon after it's release?, What is if we
need or own changes in it, will they go upstream?), additionally if
rep-gtk is fixed for gtk2 it will mostly (or maybe even completely) work
for gtk3, too.

Since I'm still not that familiar with librep (or any alternative) to
fix it up myself, but I may give you some examples, perhaps some of you
may have a look at it? That would be definitively great!

(define-func gtk_scale_button_new 
  ;; gtk/gtkscalebutton.h
  GtkWidget
  ((GtkIconSize size)
   (double min)
   (double max)
   (double step)
   (string icons)))

-> the fifth arguement is a "const char **" rep-gtk does not like that

(define-boxed GtkDestroyNotify 
  ;; gtk/gtktypeutils.h
  ((GPointer data)))

-> leads to another incompatible pointer, typdefs structs are wrapped
like this, but AFAIK, this is a typedef gboolean

(define-func gtk_tree_selection_get_selected_rows 
 ;; gtk/gtktreeselection.h
 (list string)
  ((GtkTreeSelection selection)
   (GtkTreeModel model)))

-> second arguement ist a "GtkTreeModel **" rep-gtk does not like that

(define-func gtk_tree_model_get_value
  ;; gtk/gtktreemodel.h
  none
  ((GtkTreeModel model)
   (GtkTreeIter iter)
   (uint column)
   (GValue value)))

-> fourth arguement is GValue, seems to not be wrapped -> incompatible
pointer

Thanks in advance,
Chris



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