[Gtk-sharp-list] glade# cross platform

Miguel de Icaza miguel@ximian.com
10 Aug 2003 12:08:08 -0400


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.

Am CC-ing Jackson, the in-house ILASM expert.

Miguel.