diff --git a/ChangeLog b/ChangeLog index 9a0b2d000..04ad82c47 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-12-08 Mike Kestner + + * glue/type.c : new glue for g_signal_override_class_closure + 2003-12-07 Mike Kestner * gnome/Gnome.metadata : About ctor's logo_pixbuf is null_ok diff --git a/glue/type.c b/glue/type.c index 786e83877..7e5cce543 100644 --- a/glue/type.c +++ b/glue/type.c @@ -20,6 +20,8 @@ GType gtksharp_get_parent_type (GType typ); G_CONST_RETURN gchar *gtksharp_get_type_name_for_id (GType typ); GType gtksharp_register_type (gchar *name, GType parent); + +void gtksharp_override_virtual_method (GType g_type, const gchar *name, GCallback callback); /* */ G_CONST_RETURN gchar * @@ -65,3 +67,11 @@ gtksharp_register_type (gchar *name, GType parent) return g_type_register_static (parent, name, &info, 0); } + +void +gtksharp_override_virtual_method (GType g_type, const gchar *name, GCallback callback) +{ + guint id = g_signal_lookup (name, g_type); + GClosure *closure = g_cclosure_new (callback, NULL, NULL); + g_signal_override_class_closure (id, g_type, closure); +}