[Gtk-sharp-list] glade# cross platform

Jackson Harper jackson@latitudegeo.com
Sun, 10 Aug 2003 11:30:59 -0700





On Sun, 2003-08-10 at 09:08, Miguel de Icaza wrote:
> Hello!
>  
> > The libglade callback for autoconnecting signal handlers doesn't use
> > this convention, so .NET users might encounter strange behavior --
> > I've noticed that either not all handlers are actually connected or
> > you'll get NullReference exception from gtk_main().  It's a stack
> > corruption so the behavior is undefined.
> 
> Ah!  thanks for tracking this problem.   This is the first time I see an
> explanation to the problem.
> 
> > Unfortunately, this breaks on mono windows.  So I currently have two
> > versions of libglade -- one with the above modification that I place
> > in the executable directory of a .NET application, the other in the
> > windows PATH which is picked up by mono.
> >  
> > This is not an issue with  Linux.  I haven't come up with good
> > permanent approach to this problem.  Can anyone else confirm this ? 
> > If so, any solutions ?
> 
> I think we should use the ilasm "trampoline", like it is done in
> System.Drawing for talking to the PNG libraries in a portable way.
> 
> I know that Rotor did with their GUI toolkit a trick where they would
> disassemble the compiled code, run a script to add the missing attribute
> (which sadly, can not be flagged from C#) and then re-assembled.

Right now I think the System.Drawing guys are just using a binary file
in CVS that we created with ilasm. Our ilasm is pretty stable now, so we
should be able to compile it in the build. We could try using monodis
and a script to create the il but monodis might not be up to the task
yet ;-)....I will get on this soon though.

Jackson

> 
> Am CC-ing Jackson, the in-house ILASM expert.
> 
> Miguel. 
-- 
Jackson Harper <jackson@latitudegeo.com>