diff --git a/Source/generator/ClassBase.cs b/Source/generator/ClassBase.cs index 9cf133d84..67d22a2cb 100644 --- a/Source/generator/ClassBase.cs +++ b/Source/generator/ClassBase.cs @@ -115,6 +115,10 @@ namespace GtkSharp.Generation { break; case "field": + // FIXME Generate callbacks. + if (member.GetAttributeAsBoolean ("is_callback")) + continue; + name = member.GetAttribute("name"); while (fields.ContainsKey (name)) name += "mangled"; diff --git a/Source/generator/StructABIField.cs b/Source/generator/StructABIField.cs index b7a1b0d0a..224417326 100644 --- a/Source/generator/StructABIField.cs +++ b/Source/generator/StructABIField.cs @@ -36,6 +36,9 @@ namespace GtkSharp.Generation { { string cstype = SymbolTable.Table.GetCSType(CType, true); + if (elem.GetAttributeAsBoolean("is_callback")) + return true; + if (cstype == null || cstype == "") { log.Warn (" field \"" + CName + "\" has no cstype, can't generate ABI field.");