[Gtk-sharp-list] Gecko-sharp not compiling, due to generator limitation?

Peter Williams peter at newton.cx
Tue Jul 19 10:28:13 EDT 2005


Gecko-sharp won't compile with HEAD gtk-sharp on my machine. I think the
problem is a limitation in the generator, but I don't really understand
what's going on so I thought I'd ask for some guidance. 

The compile error happens in the samples, but the root cause seems to be
the NewWindow signal, which ought to have something like a 'out
GtkMozEmbed newEmbed' parameter. The current generator doesn't like that
construction and gives this complaint:

Complex out param newEmbed  in signal NewWindow in Object

when generating the code, and suppresses the parameter. (The parameter
is manually marked as 'out' in the gtkmozembed.metadata file.) As far as
I can tell, the gtkmozembed.api file is asking for the right thing from
the generator, but the generator doesn't seem to be able to handle it.

>From looking through the generator, the validation code only allows
boxed and by-value parameters to be complex signal parameters:

if (p.PassAs != "" && !allow_complex_refs) {
   if (!(p.Generatable is BoxedGen) &&
       !(p.Generatable is SimpleGen)) {
      Console.Write("Complex " + p.PassAs + " param " + p.Name + " ");
      return false;

What's behind this restriction? Presumably there's a reason that 'is
ObjectGen' isn't in that list. What needs to be done to allow an out/ref
object parameter to work in a signal?


Peter Williams / peter at newton.cx

More information about the Gtk-sharp-list mailing list