On Tue, 2005-10-11 at 13:57 -0400, Dan Winship wrote:
> Daniel Espinosa wrote:
> > And the code generated by api2-codegen use:
> > 
> >                 [DllImport("gda-3")]
> >             static extern GLib.Value gda_value_new_string(IntPtr val);
> > 
> >             public static GLib.Value NewString(string val) {
> >                     IntPtr val_as_native = 
> > GLib.Marshaller.StringToPtrGStrdup (val);
> >                     GLib.Value raw_ret = 
> > gda_value_new_string(val_as_native);
> >                     GLib.Value ret = raw_ret;
> >                     GLib.Marshaller.Free (val_as_native);
> >                     return ret;
> >             }
> 
> This is broken. The problem is that gtk# considers GLib.Value to be a 
> value type (meaning it's always allocated on the stack), but gda is 
> using GValue as a reference type (allocated on the heap and explicitly 
> allocated/freed). You're probably going to have to wrap Gda.Value by 
> hand, obscuring the fact that it's really a GLib.Value underneath.
> 
> Meanwhile, the attached patches should probably be committed to get the 
> rest of the gda# bindings up-to-date with respect to libgda.
> 
please commit them.
-- 
Rodrigo Moya <[EMAIL PROTECTED]>

_______________________________________________
gnome-db-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-db-list

Reply via email to