From 7d902ef7e46da9b232056d8a4138626e735eb93b Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Tue, 3 Oct 2017 10:12:43 -0300 Subject: [PATCH] generator: Handle new Callback field type. --- Source/generator/ClassBase.cs | 4 ++++ Source/generator/StructABIField.cs | 3 +++ 2 files changed, 7 insertions(+) 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.");