diff --git a/ChangeLog b/ChangeLog index 1eaa0f333..a12d23724 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2002-10-21 Vladimir Vukicevic + + * glade/XML.custom: add SetCustomHandler() wrapper + 2002-10-20 Miguel de Icaza * glib/Object.cs: Avoid recursive calls with the previous operator diff --git a/glade/XML.custom b/glade/XML.custom index a8857a72f..c50ee55aa 100644 --- a/glade/XML.custom +++ b/glade/XML.custom @@ -6,6 +6,17 @@ // // This code is inserted after the automatically generated code. + // keep this around so it doesn't get GC'd + static GtkSharp.GladeXMLCustomWidgetHandlerWrapper callback_wrapper = null; + + [DllImport("glade-2.0")] + static extern void glade_set_custom_handler (GtkSharp.GladeXMLCustomWidgetHandlerNative handler, IntPtr user_data); + + static public void SetCustomHandler (Glade.XMLCustomWidgetHandler handler) + { + callback_wrapper = new GtkSharp.GladeXMLCustomWidgetHandlerWrapper (handler); + glade_set_custom_handler (callback_wrapper.NativeDelegate, IntPtr.Zero); + } [DllImport("gtksharpglue")] static extern string gtksharp_glade_xml_get_filename (IntPtr raw);